2016-06-21 14 views
0

XLPagerTabStripを使用して、ビューコントローラーの上部に複数の子ビューコントローラーが表示されているタブバーを効果的に作成しています(ソース: https://github.com/xmartlabs/XLPagerTabStripSwift:ナビゲーションコントローラーがない場合、最初のビューコントローラーに戻る方法

これらの子ビューコントローラA1、B1、C1を呼び出すことができます。子ビューコントローラ内には、一度タップしたすべての子ビューコントローラを新しいビューコントローラ(A2)にセグするテーブルビューがあります。私はA2から最初のビューコントローラに戻ることができるようにしたい。私はすべての子ビューコントローラにナビゲーションバーを追加しようとしましたが、navigationController?.popToRootViewControllerAnimated(true)メソッドを使用しましたが、このコードを含むボタンが押されても何も起こりません。私はまた、子ビューコントローラをホストしている最初のビューコントローラ内にナビゲーションコントローラを埋め込もうとしましたが、子ビューコントローラA1、B1およびC1が親ビューコントローラに接続されていないためにこれも動作しません。ストーリーボード)。

答えて

2

ビューコントローラのstoryboard idを設定します。その後:

let vc = self.storyboard?.instantiateViewController(withIdentifier: "someID") 

スウィフト2

self.showViewController(vc, sender: self) 

スウィフト3

self.show(vc, sender: self) 
+0

はあなたに感謝します。私はあなたの答えを編集する価値があるかもしれませんが、あなたのコードの最後の行をself.showViewController(vc、送信者:自己)に変更しました:) –

+1

申し訳ありませんがSwift 3です。私はSwift 2を編集します。 – penatheboss

+0

本当に最高のオプションです。 'vc'は新しいインスタンスです。前のインスタンスを魔法のように再利用することはありません。 A1、B1、C1を 'UINavigationController'に埋め込み、コントローラスタックを用意しました。 –

関連する問題