2017-10-04 31 views
0

3つのVCがナビゲーションコントローラとタブバーコントローラに組み込まれています。しかし、3番目のVCから1番目のVCにセグを追加するたびに、ナビゲーションバーとタブバーがストーリーボードから消えます。だから私のような第三VC迅速ファイルにプログラムでセグエを追加してみました:セグが追加されたときにタブバーが表示されない

let collectionVC = self.storyboard?.instantiateViewController(withIdentifier: "collectionVC") as! CollectionViewController 

    let navigationVC = UINavigationController(rootViewController: collectionVC) 
    self.present(navigationVC, animated: true, completion: nil) 

残念ながら、追加されたコードで上記の、タブバーがまだ不足しているが、ナビゲーションバーがあります。誰かが私を助けてくれることを願っている

+0

直接アーカイブしたいものは何ですか? 3つの異なるNavigationsコントローラを使用してアプリケーション内に1つのタブバーを表示したい場合や、3つの異なるタブバーが必要な場合 – Retterdesdialogs

+0

もし私が正しいのであれば、第3のVCから第1のVCに移動しようとしています:なぜ "navigationController?.popToRootViewControllerAnimated(true)"を使わないのですか?あなたはタブバー、ナビゲーションバー、そして最も重要なものを持っています。第1のVCの別のインスタンスを作成しません。 –

+1

@MarcoPaceありがとう!それは働いた:) – acoustickat

答えて

2

私が正しくあなたの問題を理解している場合は、UINavigationControllerを使用していると、あなたがこのようにナビゲーションスタックを持っていることを意味しVC3にVC1、から行くしようとしている。

VC1 - > VC2 - > VC3

あなたが戻っVC1に行きたい場合は、あなたが使用することができます。

navigationController?.popToRootViewControllerAnimated(true)‌​ 

あなたはまだタブバーとナビゲーションバーを持っています。最も重要なことは、VC1という別のインスタンスを作成しないことです。これは、UINavigationControllerを扱う正しい、最も簡単な方法です。

関連する問題