UINavigationController での画面遷移
AppDelegate から初期画面のコントローラに遷移する
初期画面となる UIViewController を作成、それを使って UINavigationController を作成する。
そして UIWindow のrootViewController
プロパティにセットする。
UINavigationController *viewController = [[UINavigationController alloc] initWithRootViewController:[[TopViewController alloc] init]];
self.window.rootViewController = viewController;
次の画面のコントローラに進む
次の画面となる UIViewController を作成して UINavigationController のpushViewController:animated:
メソッドで渡す。
UIViewController *viewController = [[NextViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
前の画面のコントローラに戻る
UINavigationController のpopViewControllerAnimated:
メソッドを呼ぶ。
[self.navigationController popViewControllerAnimated:YES];
UINavigationController を使わない画面遷移
AppDelegate から初期画面のコントローラに遷移する
初期画面となる UIViewController を作成して UIWindow のrootViewController
プロパティにセットする。
UIViewController *viewController = [[TopViewController alloc] init];
self.window.rootViewController = viewController;
次の画面をモーダル表示する
次の画面となる UIViewController を作成して UIViewController のpresentViewController:animated:completion:
メソッドで渡す。
UIViewController *viewController = [[NextViewController alloc] init]; [self presentViewController:viewController animated:YES completion:^{ // 完了時の処理 }];
モーダル画面を閉じて前の画面に戻る
UIViewController のdismissViewControllerAnimated:completion:
メソッドを呼ぶ。
[self dismissViewControllerAnimated:YES completion:^{ // 完了時の処理 }];