ユーザーがアプリの残りの部分にアクセスする前に認証する必要がある iOS (iPhone 固有) アプリを作成しようとしています。私はこのように見えるメインアプリケーションにストーリーボードを使用しています(別々の行に分割されています):
(1) -> NavigationController
(2) -(o-o)-> OfficesViewController
(3) -[<-]-> OfficeViewController
また、ユーザーがボタンを押したときにScanOverlayViewController
プログラムによってプッシュされる、という別の XIB ファイルもあります。OfficeViewController
このようにストーリーボードと XIB を混在させることが適切かどうかはわかりませんが、これまでのところ機能しています。
話は戻りますが、 の前に認証画面を入れたいのですが、NavigaitonController
方法がわかりません。
リンクされていないビューをストーリーボードに配置して、それを初期ビューとして設定しようとしました。次に、隠しボタンを配置し、 へのセグエを作成しましたNavigationController
。コードでは、コントローラーにセグエを実行させようとしましたが、ビューが正しく表示されていても、実際にはシークが実行されていませんでした。
次に、認証ビューを独自の個別の XIB にし、アプリ デリゲートでコントローラーを初期化し、そのビューをアプリ デリゲートのサブビューとして設定しようとしました。OfficesViewController
その結果、アプリは何もしていないかのようにビューに直接移動しました。
ストーリーボードで動作するように、これを適切に行う特定の方法はありますか?
前もって感謝します!
アップデート
これが私の現在のアプリデリゲートです:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
AuthenticationViewController *authenticationViewController = [[AuthenticationViewController alloc] initWithNibName:@"AuthenticationViewController" bundle:nil];
if (authenticationViewController) {
NSLog(@"Should have generated %@", authenticationViewController);
};
[[[application keyWindow] rootViewController] presentModalViewController:authenticationViewController animated:YES];
return YES;
}
コントローラーは割り当てられて初期化されますが、表示されません。