我已經創建了一個具有登錄的應用程序。UINavigationController不推視圖控制器
它以歡迎視圖控制器開始,檢查用戶是否登錄,如果不是,則打開登錄視圖控制器。如果用戶已登錄,或者一旦他們將用戶推送到Home View Controller,就像這樣。
App Delegate (did finish launching)
self.welcomeViewController = [[APPWelcomeViewController alloc] init];
self.homeViewController = [[APPHomeViewController alloc] initWithNibName:@"APPHomeViewController" bundle:nil];
self.navController = [[UINavigationController alloc] initWithRootViewController:self.welcomeViewController];
self.navController.navigationBarHidden = YES;
self.window.rootViewController = self.navController;
一旦用戶登錄,它將推送主視圖。
// Push the homeViewController onto the navController
[self.navController pushViewController:self.homeViewController animated:YES];
這一切都正常工作到這一點。然後,我使用模式視圖控制器設置,其中包括註銷按鈕。用戶的註銷運行如下:
// Log the user out
[User logOut];
// Then we need to remove the Settings Modal View Conrtoller
[self.presentingViewController dismissModalViewControllerAnimated:YES];
// Then we need to take user back to welcomeViewController
[self.navigationController pushViewController:welcomeViewController animated:YES];
它按預期取消設置視圖控制器,但導航控制器保持在主視圖上。沒有錯誤,有誰知道爲什麼這不能正常工作?
刪除此行[self.navigationController pushViewController:welcomeViewController動畫:YES];並告訴我我們發生了什麼? – CRDave