2017-07-21 6 views
0

UIViewNavigationControllerの内部に埋め込まれています。ユーザがTableViewのセルをクリックすると、彼はUIViewに連れて行きます。しかし、UIViewは、右側からスライドアウトするのではなく、下から飛び出します。私はに表示されるセグを持っています。を表示するので、なぜこれをやっているのか分かりません。TableView付きナビゲーションコントローラ

enter image description here

+0

TableView Controller *もナビゲーションコントローラに組み込まれていますか? – BaseZen

+0

これは別のナビゲーションコントローラに組み込まれています。 –

+1

それが働いていない理由です。 – BaseZen

答えて

2

スライドイン側の行動からは一人っ子ナビゲーションコントローラのすべてが同じ UINavigationControllerの子であるときに動作します。この要件には、「ルート」または最初の子が含まれます。あなたの場合、ルートの子はUITableViewControllerです。

それはストーリーボードで次のようになります。

UINavVC ---> RootChildVC ---> SecondChildVC ---> ThirdChildVCなど

セグエは文脈であることを示しています。上記の図のようなものであれば、水平なスライドになります。任意の二つのVC間の手描きセグエ含むまったく他の状況で

が底部から入ってくるとバック滑落モーダルプレゼンテーションとして解釈さを示します。また、「ナビゲーション」関係が検出されないため、自動的な「戻る」ボタンのインストールも行われません。

あなたはおそらく混乱しているので、ストーリーボードを上記の単純なイディオムに戻す必要があります。直接の親がの異なるVCである "いとこ"と、別の UINavigationControllerの間でセグメントしている場合は、「その他の状況」に該当します。

0

ナビゲーションコントローラを別のナビゲーションコントローラに組み込むことはできません。
ViewとNavigationController間のルートビューの関係を削除し、NavigationControllerを削除し、TableViewから直接そのビューに "show" segueを設定します。

関連する問題