2017-03-27 11 views
5

私は、タブバーコントローラ、ナビゲーションコントローラ、そして最初のビューコントローラを持っています。このビューコントローラには、期待どおりのタブバーがあります。しかし、私がこのビューから踏み出すと、私はタブバーを失う。この最初の見解に由来する他のVCの立場を維持してほしい。これは、現在、それは関係なく、消えて達成される方法は、私はそれが適切なVCからセグエを介してロードされた後にタブバーも左VCに表示するセグの後にタブバーを表示していますか?

enter image description here

:ここに私のIBであります上記のように、VCの下部にタブセクションを設定します。

答えて

5

タブバービューのビューからモーダルセグを実行すると、表示しているモーダルビューのタブバーがなくなります。

第2に、ビュー・コントローラーの新しいインスタンスを作成しているときです。だから私はあなたがview1からview2へとセグをして、タブバーを失っていると推測しています。そして、あなたはview1に戻ることになります。この時点で、view1、view2、およびタブバーを持たないview1の2番目のコピーが作成されました。

私は2つのうちの1つを提案します。

)1.ビュー1からビュー2に分割するときにタブを下に維持したい場合は、画面の上部にあるビュー1をクリックして、エディタ/埋め込みコントローラ/ナビゲーションコントローラを選択します。これはあなたのview1をナビゲーションコントローラに埋め込みます。その後、あなたのセグをモーダルからプッシュに変更すると、タブバーが下になります。また、上のナビゲーションバーを使用すると、新しいセグを作成するのではなく、ビュー2から元のビューに戻って正しい方法を表示することができます(ビューをポップする)。ナビゲーションバーが気に入らない場合は、インスペクタで「トップバー」プロパティを「なし」に変更することができます。次に、view1に戻るためには、view2で別の方法を作成する必要があります。 (コントローラーをポップすると、セグメンテーションではなく)

2)ナビゲーションコントローラーを設定したくない場合は、タブ2をview2コントローラーの下部に置くのが少し難しくなります。実際には、モーダルセグを使用してそれをすべて行うことができないかどうかはわかりませんが、カスタムセグエーを作成する必要があります。いずれにしても、view1に戻って正しいコントローラ(タブのない新しいバージョンではない)に移動する場合は、次のコードを使用してセグを使用するボタンにアクションをアタッチする必要がありますあなたはナビゲーションコントローラを作成して、ナビゲーションバーを取り除く場合には、ナビゲーションコントローラプッシュseguesためのコード、)

モーダルセグエの場合:

[self dismissModalViewControllerAnimated:YES]; 

プッシュセグエの場合:

[self.navigationController popViewControllerAnimated:YES]; 

あなたの最善の策は、ナビゲーションを使用することですコントローラのメソッドを使用して、タブを維持することができます。その後、ナビゲーションバーを使用して(簡単な方法で、コードは必要ありません)リターンするか、またはそれを取り除き、上記のボタンとコードを使用することができます。

幸運を祈る! これが役立つ場合は、緑色のチェックマークをクリックしてください。

関連する問題