0

In viewController1 habe ich eine CollectionView und verwendet den folgenden Code, um einen Übergang zu der ausgewählten Artikelseite zu erstellen.Wie wird der Push von einem UICollectionViewCell an einen Navigationscontroller weitergeleitet?

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 
     } 
    } 

Da die viewController2 ist derzeit nicht in einer Navigationssteuerung eingebettet ist, nach dem Übergang Push gibt es keine Navigationsleiste.

Meine Frage ist, um die Navigationsleiste zu erhalten, wie implementiere ich das Segment, wenn der VC2 in einem Navigationscontroller eingebettet ist?

aktualisieren

  1. Tab Bar Controller -> Navigationsleiste Controller -> VC1

  2. VC1 -> (Zur Zeit keine Navigationsleiste Controller) -> VC2

Update 2 Nach dem Zurücksetzen des Segments konnte ich Erhalte eine Navigationsleiste in StoryBoard. Es scheint jedoch, dass es von der Sicht abgedeckt ist. Die Navigationsleiste wird nicht angezeigt. Der Zurück-Button wird angezeigt. Ich denke, der Titel ist irgendwie auf der Unterseite der Ebene. Die Hierarchie sieht so aus.

enter image description here

enter image description here

Der blaue Bereich ist, wo der Titel der Navigationsleiste ist. Wie Sie jedoch sehen können, ist es abgedeckt und wird nicht angezeigt, wenn ich die App starte. Die Zurück-Taste funktioniert zeigen

+0

Ist der viewContoller1 in den Navigation Controller eingebettet? –

+0

@JimYu Ja, es ist in einen Navigationscontroller eingebettet. – WoShiNiBaBa

+0

In Ihrem Storyboard verwendet Ihr Storyboard-Segment (ToEventInfoSegue) Push? –

Antwort

0

Basierend auf Ihre Frage, was ich verstehe, was Sie brauchen NavigationBar in Ihrem DetailViewController ist so für die Sie segue zu Ihrem CollectionViewCell mit DetailViewController wie unten Screenshot zuordnen müssen.

Ich denke, das Storyboard fließen wie folgt aus: enter image description here

Was Sie brauchen Cell-DetailViewController assign Segue ist:

enter image description here enter image description here

Dadurch verhindern Sie Ihre NavigationBar bekommen in Ihrem Detailbildschirm.

Hoffe, dies wird Ihnen helfen, Ihr Problem zu lösen.

+0

Hallo, der Storyboard-Flow ist korrekt. Ich denke das Problem ist, dass es mehrere ViewControllers gibt, die mit VC2 verbunden sind. VC1 ist nicht die einzige Seite, die an VC2 geleitet werden kann. Soll ich dann den ganzen Schiebeschnitt einstellen? – WoShiNiBaBa

+0

Ok, also gibt es mehrere Orte, von wo aus du zu VC2 navigierst. Also, was meine Frage ist, brauchst du Navigationsleiste in allen verbundenen Segmenten, oder? oder nur von VC1-> VC2 brauchst du Navigationsleiste? – CodeChanger

+0

In allen verbundenen Segmenten, also gibt es eine Zurück-Taste, um zum vorherigen viewController zurückzukehren. – WoShiNiBaBa

Verwandte Themen