ボタンをクリックした後にナビゲーションコントローラを表示したいと思います。すべてのチュートリアルでは、ナビゲーションコントローラが最初の画面になるため、App Delegateにリンクしていますが、App DelegateはMainWindow.xibにのみ表示されます。 MainWindowとは別のビューにどのようにナビゲーションコントローラを追加しますか?アプリケーションデリゲートなしでナビゲーションコントローラを設定
ありがとうございます!
ボタンをクリックした後にナビゲーションコントローラを表示したいと思います。すべてのチュートリアルでは、ナビゲーションコントローラが最初の画面になるため、App Delegateにリンクしていますが、App DelegateはMainWindow.xibにのみ表示されます。 MainWindowとは別のビューにどのようにナビゲーションコントローラを追加しますか?アプリケーションデリゲートなしでナビゲーションコントローラを設定
ありがとうございます!
UINavigationControllerは、UIViewControllerでビューの階層をナビゲートします。ルートのUIViewControllerを持っていない場合、動作しません(そして、意味がありません)。 UIViewControllerをお持ちの場合は、- (id)initWithRootViewController:(UIViewController *)rootViewController
のinitメッセージをUIViewControllerに渡す新しいナビゲーションコントローラに送信するだけです。
ここでは、Rogerの答えを拡張するためのサンプルコードを示します。次のメソッドは、現在のビューコントローラ上のユーザー対話にリンクされています(たとえば、電子メールを作成するため)。これにより、カスタムビュー内のコーディングボタンではなく、上部にナビゲーションバーが表示されます。
-(void) composeButtonPushed: (id) sender {
ComposeViewController *controller = [[ComposeViewController alloc] initWithNibName:@"ComposeView" bundle:nil];
UINavigationController *composeNavController = [[UINavigationController alloc] initWithRootViewController:controller];
[self presentModalViewController:composeNavController animated:NO];
}