0

modalViewControllerを表示しようとすると、ナビゲーションコントローラのナビゲーションバーが隠れてしまいます。任意のヒント?ありがとう。 (コード付き)ナビゲーションコントローラのバー付きモーダルビュー

UPDATE:

ComposeText *compText = [[ComposeText alloc] initWithNibName:@"ComposeText" bundle:[NSBundle mainBundle]]; 
compNavController = [[UINavigationController alloc] initWithRootViewController:compText]; 
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:compNavController action:@selector(compDoneTapped:)]; 
compNavController.navigationItem.rightBarButtonItem = doneButton; 
[self presentModalViewController:compNavController animated:YES]; 
compText.title = @"Compose"; 
[doneButton release]; 

すべてが順序であるようだが、ボタンはまだナビゲーションバーに表示されていません。

答えて

1

それはそうすることです。ナビゲーションバーが必要な場合は、新しいUINavigationControllerをモーダルで表示し、ルートビューコントローラをmodalViewControllerに設定します。

0

UINavigationControllerには別のviewControllerを表示する独自のメソッドがあります。

-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated 

スタックを使用して、新しいviewControllerをプッシュして、ボタンによるナビゲーションを処理できるようにします。

1

あなた自身に質問する必要があるのは、「なぜ私はナビゲーションバーを表示したいのですか?」です。ユーザーにいくつかのボタンへのアクセス権を与えるのであれば、それは間違った理由です。モーダルビューコントローラは、画面を完全に制御し、コントローラが終了するまで、ユーザがアプリケーション内の他のものを操作することを許可しません。 Cyprianが示唆しているようにそれをしたくない場合は、ナビゲーションスタックにViewControllerをプッシュします。

モーダル・ビュー・コントローラーでそれを複製してください(ロゴ...)。

+0

私はアプリのナビゲーションに不可欠なボタンを表示する必要があります。コンテンツを投稿するボタンとキャンセルボタンです。現在のModelViewControllerアニメーションは最も理にかなっているようです。 navコントローラのスタックに新しいビューをプッシュするだけでなく、より良い選択肢がありますか? –

関連する問題