0

viewController1にはCollectionViewがあり、次のコードを使用して選択したアイテムページにセグを作成しました。UICollectionViewCellからナビゲーションコントローラにプッシュする方法

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     if(segue.identifier == "ToEventInfoSegue") { 
      let destination = segue.destination as! ViewController2 
      let cell = sender as! CollectionViewCell 
      destination.eventInfo = cell.anEvent! 
      destination.MainVC = self 
     } 
    } 

viewController2が現在ナビゲーションコントローラに埋め込まれていないので、セグエプッシュした後、何のナビゲーションバーは存在しません。

私の質問はナビゲーションバーを得るためです、VC2がナビゲーションコントローラに組み込まれているとき、どのようにセグを実装しますか?

更新

  1. タブバーコントローラ - >ナビゲーションバーコントローラ - > VC1

  2. VC1 - >(現在、ナビゲーションバーコントローラ) - > VC2

更新2 セグをリセットした後、私はStoryBoardでナビゲーションバーを取得します。しかし、それはその見方によって覆われているようです。ナビゲーションバーが表示されません。 戻るボタンが表示されます。タイトルは何とかレイヤーの底にあると思います。階層は次のようになります。

enter image description here

enter image description here

ナビゲーションバーのタイトルがどこにある青色の領域があります。しかし、あなたが見ることができるように、それはカバーされ、私はアプリを実行するときに表示されません。 戻るボタンは

+0

viewContoller1はNavigation Controllerに組み込まれていますか? –

+0

@JimYuはい、ナビゲーションコントローラーに組み込まれています。 – WoShiNiBaBa

+0

ストーリーボードでは、ストーリーボードのSegue(ToEventInfoSegue)がプッシュを使用していますか? –

答えて

0

iがあることを理解どのようなあなたの質問に基づいて、あなたはスクリーンショット以下のようにDetailViewControllerであなたのCollectionViewCellにセグエを割り当てる必要があり、そのためので、あなたのDetailViewControllerNavigationBarを必要とするまで表示されません。

私はこのようなストーリーボードの流れを推測: enter image description here

必要なものはCellからDetailViewControllerにセグエを割り当てることです:

enter image description here enter image description here

これを行うことにより、あなたのNavigationBarを得ることができます詳細画面で

これはあなたの問題をスローするのに役立ちます。

+0

こんにちは、ストーリーボードの流れは正しいです。問題は、VC2にリンクされた複数のviewControllerがあることです。 VC1はVC2に向けることができる唯一のページではありません。私はすべてのセグを押して設定する必要がありますか? – WoShiNiBaBa

+0

あなたがVC2にナビゲートする場所から複数の場所があるので、私の質問は、接続されたすべてのセグの右にナビゲーションバーが必要ですか? VC1→VC2の場合のみナビゲーションバーが必要ですか? – CodeChanger

+0

接続されているすべてのセグで、前のviewControllerに戻るための戻るボタンがあります。 – WoShiNiBaBa

関連する問題