1

ビューが少ないナビゲーションベースのアプリを開発しています。ストーリーボードには、Navigation Controllerセグエを含む他のビューを指すメインのViewController(アプリの「中央」ビュー)を指すがあります。

最初はこのセグエにしたかったのですpushが、正しく機能しませんでした(ボタンがほとんど反応しませんでした)、私はmodalここでアドバイスされているように)切り替えました。これでセグエは正常に機能しますが、セグエを使用するmodalと、表示されているナビゲーションバーが消えます(他の構成で試しました-ナビゲーションバーはストーリーボードに表示されていますが、シミュレーターでは機能しません)。

どこを間違えているの?

4

2 に答える 2

2

UINavigationモーダルプレゼンテーションでは、ViewControllerはスタックの一部ではなくなります。新しいをドラッグして、UINavigationControllerそれをモーダルビューとして表示し、ビューコントローラーにナビゲーションコントローラーのルートビューコントローラーをクラス化させることができます。

于 2012-09-19T18:04:32.927 に答える
1

JoePasqが提案しているように、「ビューコントローラークラスにナビゲーションコントローラーのルートビューコントローラーを設定してください」。ルート画面として設定するViewControllerを選択し、Editor / EmbedInオプションに移動して、NavigationControllerを選択します。ルートビューコントローラーに組み込まれたナビゲーションコントローラーを取得します。セグエを設定する代わりに、プログラムで画面をプログラムで変更できます。ボタンクリックイベントのメソッドで、以下のようなコードを記述します。

- (IBAction)okPressed:(id)sender {
UIStoryBoard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; //MainStoryboard is the name of your storyboard
SecondViewController *secondView = [storyboard instantiateViewControllerWithIdentifier:@"sView"];
//sView is the identifier name set by the user, (present inside Attribute Inspector - View Controller)
[self.navigationController pushViewController:secondView animated:YES]; 

これが機能するかどうか、または別の方法があるかどうかを教えてください。

于 2012-09-19T18:23:46.723 に答える