我想在用戶進入應用程序之前實現登錄屏幕(當用戶註冊時我記得NSUserDefaults
中的某個鍵,並且下次啓動應用程序時,如果NSUserDefaults
中有鍵,我需要跳過登錄屏幕)。我把我的LoginController
代碼放在裏面,它可以工作,但它總是顯示Login一會兒,然後跳轉到AppController
。 (我嘗試在viewDidLoad
但後來不工作)。如何避免LoginScreen
跳至下一個之前的短暫顯示?如何在從內存密鑰讀取時跳轉到下一跳之前避免短暫顯示LoginScreen?
- (void) viewDidAppear:(BOOL)animated{
// ***************** reading key from memory **************************
NSString * key = [[NSUserDefaults standardUserDefaults]
stringForKey:@"key"];
if(key != nil){
[self performSegueWithIdentifier:@"login" sender:self];
}
// **********************************************************************
}
如果沒有關鍵用戶通過
LoginController
=>AppController
如果有關鍵它應該給用戶看起來像
AppController
但此刻如果有鑰匙是
LoginController
(很短的時間)=>AppController
我在我的應用程序中首先使用了這種方法,但當我想「重置」導航堆棧並從頭再次開始(註銷/登錄後)時,它不再工作了。我結束了切換主窗口.rootController根據登錄狀態設置適當的主視圖控制器。 (但我還不確定這是否是最好的方法) – nanako 2013-04-24 04:59:06