2009-04-25 4 views
0

ボタンをクリックした後にナビゲーションコントローラを表示したいと思います。すべてのチュートリアルでは、ナビゲーションコントローラが最初の画面になるため、App Delegateにリンクしていますが、App DelegateはMainWindow.xibにのみ表示されます。 MainWindowとは別のビューにどのようにナビゲーションコントローラを追加しますか?アプリケーションデリゲートなしでナビゲーションコントローラを設定

ありがとうございます!

答えて

0

UINavigationControllerは、UIViewControllerでビューの階層をナビゲートします。ルートのUIViewControllerを持っていない場合、動作しません(そして、意味がありません)。 UIViewControllerをお持ちの場合は、- (id)initWithRootViewController:(UIViewController *)rootViewControllerのinitメッセージをUIViewControllerに渡す新しいナビゲーションコントローラに送信するだけです。

5

ここでは、Rogerの答えを拡張するためのサンプルコードを示します。次のメソッドは、現在のビューコントローラ上のユーザー対話にリンクされています(たとえば、電子メールを作成するため)。これにより、カスタムビュー内のコーディングボタンではなく、上部にナビゲーションバーが表示されます。

-(void) composeButtonPushed: (id) sender { 
    ComposeViewController *controller = [[ComposeViewController alloc] initWithNibName:@"ComposeView" bundle:nil]; 
    UINavigationController *composeNavController = [[UINavigationController alloc] initWithRootViewController:controller]; 
[self presentModalViewController:composeNavController animated:NO]; 
} 
関連する問題