2012-05-03 85 views
2

目前存在輕微問題。立即在IOS中加載新視圖

基本上我的appdelegate加載我mainViewController:

self.viewController = [[MainViewController alloc] initWithNibName:@"mainViewController" bundle:nil]; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 
return YES; 

現在,當mainViewController負荷,我想檢查用戶是否已經在已經登錄:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    NSInteger myInt = [prefs integerForKey:@"user"]; 
    if(!myInt) 
    { 
     self.loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 
     self.loginViewController.delegate = self; 
     self.loginViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
     [self presentModalViewController:self.loginViewController animated:YES]; 
    } 
} 

它成功地檢查是否或者不是用戶登錄,如果他們沒有登錄,則進入if語句。但是,在運行它之後,加載的最終視圖是mainViewController,而不是loginViewController。

如果我有一個單獨的按鈕,將此代碼發送給登錄頁面,它可以正常工作。當然,這不是我所需要的,我需要用戶必須登錄= p

回答

3

把它放到-viewDidAppear:

+0

當我可以=]時會接受你的答案。多麼完美,非常感謝。我認爲viewDidLoad本質上就是我所尋找的 - 這兩個聲音非常相似! – Paul

+0

是的。如果卸載以節省內存,可以多次調用'viewDidLoad'。 – jrtc27