4

アプリで .xib ファイルを使用しています。そして、2つのView Controllerを通常の方法で使用し、3番目のView ControllerからナビゲーションView Controllerに埋め込みたいと思います。これが私が望む方法の図です。

ここに画像の説明を入力

このように、モーダルに表示されるビュー コントローラーにナビゲーション コントローラーを埋め込むことができることはわかっています。

let firstVC = FirstViewController(nibName: firstViewController, bundle: nil)
let navController = UINavigationController(rootViewController: firstVC)
presentViewController(navController, animated: true, completion: nil)

しかし、ナビゲーション コントローラーに埋め込んでプッシュすると、同じビュー コントローラー インスタンスを複数回プッシュすることはサポートされていませんというエラーでアプリがクラッシュします。

let firstVC = FirstViewController(nibName: firstViewController, bundle: nil)
let navController = UINavigationController(rootViewController: firstVC)
navController.pushViewController(firstVC, animated: true)

これを行うことはまったく可能ですか?もしそうなら、誰かがその方法を説明してもらえますか?

ありがとうございました。

注:コード スニペットと上の図を混同しないでください。firstViewControllerコード内の は、図の最初のビュー コントローラーではありません

4

2 に答える 2

1
  1. UINavigationController のルート ビュー コントローラとして最初のビュー コントローラを使用する
  2. 次のメソッドを使用して、次のView Controllerを提示します

[self.navigationController pushViewController:vc アニメーション: はい];

  1. viewWillAppear メソッドで、ナビゲーション バーを非表示にする場合は、

[self.navigationController setNavigationBarHidden:YES アニメーション:アニメーション];

ナビゲーションバーを表示したい場合は、

[self.navigationController setNavigationBarHidden:NO アニメーション:アニメーション];

于 2014-09-09T13:41:35.740 に答える