AppDelegate を主要な連絡先として使用する UINavigation コントローラーをセットアップしました。
presentHomeViewController、presentLoginViewControllerなど、さまざまなView ControllerをNavigation Controllerにプッシュするさまざまなメソッドがあります。
アプリデリゲート - didFinishLaunching
welcomeViewController = [[MyWelcomeViewController alloc] initWithNibName:@"MyWelcomeViewController" bundle:nil];
navController = [[UINavigationController alloc] initWithRootViewController:welcomeViewController];
navController.navigationBarHidden = YES;
self.revealSideViewController = [[PPRevealSideViewController alloc] initWithRootViewController:navController];
[self.revealSideViewController setDirectionsToShowBounce:PPRevealSideDirectionNone];
[self.revealSideViewController setPanInteractionsWhenClosed:PPRevealSideInteractionContentView | PPRevealSideInteractionNavigationBar];
self.window.rootViewController = self.revealSideViewController;
これは正しいプロセスですか?
- (void)presentHomeViewController {
// We start by dismissing the ModalViewConrtoller which is LoginViewController from the welcomeview
[self.welcomeViewController dismissModalViewControllerAnimated:YES];
// Check if the home view controller already exists if not create one
if (!self.homeViewController) {
NSLog(@"presentHomeViewController- Creating the Home View controller");
homeViewController = [[MyHomeViewController alloc] initWithNibName:@"MyHomeViewController" bundle:nil];
}
// Push the homeViewController onto the navController
NSLog(@"presentHomeViewController");
self.navController.navigationBarHidden = NO;
[self.navController setTitle:@"Home"];
[self.navController pushViewController:homeViewController animated:NO];
次に、次を別のクラスに追加すると:
[self.navigationController pushViewController:accountViewController animated:NO];
ビューはスタックにプッシュされません。これまで行ってきたように AppDelegate 内のすべての動きを制御する必要がありますか、またはこれにアプローチするより良い方法はありますか?