ios 記住標籤的狀態

2021-07-24 22:38:40 字數 1762 閱讀 2068

對於ios平台來說,持久是金。啟動應用程式或者是從暫停及中斷狀態繼續執行程式的時候,我們應該把程式狀態恢復到使用者上一次離開時的這樣子,這樣做使得使用者能夠繼續操作上次正在操控的內容,並且能令使用者介面與上次會話的介面相符。

- (void)tabbarcontroller:(uitabbarcontroller *)tabbarcontroller didendcustomizingviewcontrollers:(nsarray<__kindof uiviewcontroller *> *)viewcontrollers changed:(bool)changed

[[nsuserdefaults standarduserdefaults] setobject:titles forkey:@"taborder"];

[[nsuserdefaults standarduserdefaults] synchronize];

}- (void)tabbarcontroller:(uitabbarcontroller *)tabbarcontroller didselectviewcontroller:(uiviewcontroller *)viewcontroller

nsmutablearray *controllers = [nsmutablearray array];

nsarray *titles = [[nsuserdefaults standarduserdefaults] objectforkey:@"taborder"];

if (titles)

}else

}tabbarcontroller = [[uitabbarcontroller alloc] init];

tabbarcontroller.tabbar.bartintcolor = [uicolor blackcolor];

tabbarcontroller.tabbar.translucent = no;

tabbarcontroller.viewcontrollers = controllers;

= controllers;

tabbarcontroller.delegate = self;

nsnumber *tabnumber = [[nsuserdefaults standarduserdefaults] objectforkey:@"selectedtab"];

if (tabnumber)

_window = [[uiwindow alloc] initwithframe:[uiscreen mainscreen].bounds];

_window.tintcolor = [uicolor bluecolor];

tabbarcontroller.edgesforextendedlayout = uirectedgenone;

_window.rootviewcontroller = tabbarcontroller;

[_window makekeyandvisible];

return yes;

}以便把當前的標籤順序以及使用者目前所選的標籤儲存起來,當這些標籤有變化時,他也會執行儲存的操作。使用者啟動應用程式之後,這段**會搜尋上一次的配置,如果找到了,就據此配置標籤欄。為了再標籤發生變化時做出響應,標籤欄的delegate必須宣稱自己遵循uitabbarcontrollerdelegate協議。範例**用到了協議裡的兩個委託方法。

應用程式啟動時,會尋找上一次的配置資訊,以獲取使用者所定製的標籤順序以及所選中的標籤序號。如果找到了這個資訊,就用它們來配置標籤欄中的標籤,並把上次選定的那個標籤啟用。

此例僅供參考。

關於input標籤的記住密碼

今天同事問了我乙個這樣的問題 方法1 input標籤有乙個屬性autocomplete屬性 該屬性預設為 on 所以將該屬性設定為 off 即可禁用自動完成功能。即為 autocomplete off 方法2 如果在fom標籤內,input沒有type password 標籤的話,方法1即可。若有,...

Session,Cookie,記住登陸狀態

cookie的機制 cookie是瀏覽器 user agent 訪問一些 後,這些 存放在客戶端的一組資料,用於使 等跟蹤使用者,實現使用者自定義功能。cookie的domain和path屬性標識了這個cookie是哪乙個 傳送給瀏覽器的 cookie的expires屬性標識了cookie的有 效時...

建立能夠記住其狀態的函式

問題 想要建立乙個函式,它能夠記住資料,但是不必是全域性變數,並且不必對每個函式重新傳送相同的資料。解決方案 使用閉包 function greetingmaker greeting return addname 建立乙個新的區域性函式 var daytimegreeting greetingmak...