Storyboardで起動時にNavigation Controllerのビューコントローラを構成する

Storyboardを利用している時に、起動時にNavigation Controllerの子ビューコントローラの構成を変更してみます。

まずStoryboardを以下のように作成します。
NewImage

Initial view controllerをUINavigationController、FirstViewControllerをUINavigationControllerに接続、SecondViewControllerを別個作成しています。
SecondViewControllerには以下のようにIdentifierにSecondViewControllerを指定しています。
Identifier

次にApplication Delegateの
– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
メソッドを以下のように記述します。

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
UIViewController *secondViewController = [navigationController.storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
[navigationController pushViewController:secondViewController animated:NO];
return YES;

StoryboardのInitial view controllerであるUINavigationControllerがwindowのrootViewControllerにセットされているので、それを取り出します。コントローラからStoryboardを取り出し、instantiateViewControllerWithIdentifierメソッドで指定したコントローラをインスタンス化します。上記コードではSecondViewControllerをインスタンス化しています。そのSecondViewControllerをUINavigationControllerにpushして、表示しています。

アプリを実行すると

second_view.png
このように、SecondViewControllerのビューが表示されます。

このようにinstantiateViewControllerWithIdentifierでインスタンス化することで、Segueで指定していないビューコントローラを利用することができます。

「Storyboardで起動時にNavigation Controllerのビューコントローラを構成する」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です