0

Ich habe meine Storyboard wie folgt aus:Nested Navigation Controller und TabBar Controller

TabBarViewController 
|-NavigationViewController 
    |-TableViewController 

Dies hilft, haben mir eine Navigationsleiste und Tab-Leiste zur gleichen Zeit in Tableviewcontroller.

Jetzt versuche ich einen SecondViewController hinzuzufügen, um Details des in der Tabelle ausgewählten Artikels anzuzeigen. Also tat ich das:

TabBarViewController 
|-NavigationViewController 
    |-TableViewController 
    |-SecondViewController 

Aber SecondViewController zeigt nicht die Navigationsleiste. Also habe ich es versucht:

TabBarViewController 
|-NavigationViewController 
    |-TableViewController 
    |-NavigationViewController 
     |-SecondViewController 

Aber noch keine Navigationsleiste in SecondViewContrller. Was fehlt mir?

+0

Sie benötigen nur einen NavigationViewController. Benutzt du Übergänge? Wenn ja, gibt es einen Übergang zwischen TableViewController und SecondTableViewController? – Jordan

+0

Ja, ich habe einen "Show" - Übergang von "TableViewController" zu "SecondViewController", wenn ich den zweiten Navigationscontroller nicht verwende. – Kashif

Antwort

1

Ich bin nicht ganz sicher, warum Sie die verschachtelten Navigation Controller so brauchen?

Siehe unten für eine Storyboard-only-Lösung, die ich denke, was Sie wollen, oder Sie können einen benutzerdefinierten Delegaten erstellen, um den Ansichtsstapel und Navigationsstruktur zu behandeln.

Ich gehe hier davon aus, dass Ihr 'SecondViewController' eine Art Detailansicht ist? Also, so etwas wie:

TabBarViewController 
|-NavigationViewController 
    |-TableViewController (NavigationViewControllerDelegate) 
    |-DetailViewController (SecondViewController) 

Hier ist die Storyboard-Lösung (kein Code):

  1. ein NavigationController In der Storyboard
  2. einbetten es in einer Tab-Leiste Controller (aus Menü)
  3. Hinzufügen eines TableViewController zum Storyabord
  4. Hinzufügen einer Schaltfläche zu einer Zelle in der Tabellenansicht
  5. Fügen Sie einen Standard hinzu d ViewController zum Storyboard
  6. Verbinden der Schaltfläche Tableview Zelle auf den neuen View-Controller
  7. weitere hinzufügen Standard ViewController zum Storyboard und gebe ihm ein Tab-Leiste Element
  8. Link zu der Tab-Leiste Controller zu diesem View-Controller

Sie dann mit etwas am Ende wie folgt:

+0

Sie haben Recht. Es funktioniert. Ausgestellt habe ich eine 'navigationbar' auf' SecondViewController', aber der Hintergrund und die rückwärtige Pfeilfarbe sind alle weiß, also ist es unsichtbar. Ich habe die Hintergrundfarbe der Ansicht in SecondViewController geändert und mir geht es jetzt gut! – Kashif

Verwandte Themen