ログインを持つアプリケーションを作成しました。
Welcome View Controller で開始し、ユーザーがログインしていない場合はログインしているかどうかを確認し、Login View Controller を開きます。ユーザーがログインしている場合、またはログインしている場合、このようにユーザーを 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];
期待どおりに設定ビュー コントローラーを閉じますが、ナビゲーション コントローラーはホーム ビューに残ります。エラーはありません。これが正しく機能しない理由を誰か知っていますか?