2016-06-21 14 views
0

XLPagerTabStripを使用して、ビューコントローラの上部にタブバーを効率的に作成しました。ソース:https://github.com/xmartlabs/XLPagerTabStripSwift:XLPagerTabStripから子ビューコントローラを使用した後、最初のビューコントローラに戻る方法

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

ご協力いただければ幸いです。

答えて

1

だから私はあなたがこれについて行くことができるいくつかの方法があると思います。まず答えはあなたが使用しているセグのタイプによって異なります。あなたが現在モーダルを使用している場合は、あなたがする必要があるすべては、それ以外の場合は

self.dismissViewControllerAnimated(true, completion: completion) 

を入力しているバックA1ViewControllerにセグエする方法については、以下を参照してください。

最初のオプションは:

あなたはUINavigationControllerに母ビューコントローラを埋め込むことができます。マザー・ビュー・コントローラは、UINavigationControllerのルートビューコントローラになると、あなたは

navigationController?.popToRootViewControllerAnimated(true) 

番目のオプションを使用することができるだろう:

アンワインドセグエを。これらのセグは後ろ向きに向いており、3つのステップで実装することができます。ユーザーが戻って選択する

  1. は、オブジェクトを作成します
  2. あなたに戻りたいコントローラでアンワインドメソッドを作成します(あなたのケースでは、これはUIButton A2に だろう)。 (あなたの場合、メソッドはコントローラA1にあります)

    @IBAction func unwindToA1ViewController(segue: UIStoryboardSegue) 
    
  3. UIStoryboardでメソッドをフックアップします。 A2シーンに移動してA2ViewControllerをExitにドラッグし、手順2で作成したunwindメソッドを選択します。(A2 ViewControllerの一番上にあります)

さらに詳しい説明と素晴らしいビジュアルについては下記を参照してください。 https://www.raywenderlich.com/113394/storyboards-tutorial-in-ios-9-part-2

これが役に立ちます。

関連する問題