0

J'ai mon storyboard comme ceci:Contrôleurs Nested navigation et contrôleurs TabBar

TabBarViewController 
|-NavigationViewController 
    |-TableViewController 

Cela me aide à avoir une barre de navigation et barre d'onglets en même temps TableViewController.

Maintenant j'essaye d'ajouter un SecondViewController pour montrer les détails de l'article choisi dans la table. Donc j'ai fait ceci:

TabBarViewController 
|-NavigationViewController 
    |-TableViewController 
    |-SecondViewController 

Mais SecondViewController n'affiche pas la barre de navigation. J'ai donc essayé ceci:

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

Mais toujours pas de barre de navigation dans SecondViewController. Qu'est-ce qui me manque?

+0

Vous n'avez besoin que d'un seul navigateur NavigationViewController. Utilisez-vous des segues? Si oui, existe-t-il un segue reliant TableViewController à SecondTableViewController? – Jordan

+0

Oui, j'ai un "Show" segue de TableViewController à SecondViewController lorsque je n'utilise pas le second contrôleur de navigation. – Kashif

Répondre

1

Je ne suis pas entièrement sûr pourquoi vous avez besoin des contrôleurs de navigation imbriqués comme ceci? Voir ci-dessous pour une solution de Storyboard seulement que je pense est ce que vous voulez, ou vous pouvez créer un délégué personnalisé pour gérer la pile de vue et l'arborescence de navigation.

Je suppose ici que votre 'SecondViewController' est une vue de détail des sortes? Donc, quelque chose comme:

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

Voici la solution Storyboard (pas de code):

  1. Ajouter un NavigationController au Storyboard
  2. Intégrer dans un contrôleur de barre d'onglets (à partir du menu)
  3. Ajouter un TableViewController au Storyabord
  4. Ajouter un bouton à une cellule dans le tableau
  5. Ajouter un standard d ViewController au Storyboard
  6. Connectez le bouton de la cellule tableview au nouveau contrôleur de vue
  7. Ajouter une autre ViewController standard au Storyboard et lui donner un élément de la barre d'onglet
  8. Lien le contrôleur de barre d'onglets à ce point de vue contrôleur

On finit alors avec quelque chose comme ceci:

+0

Vous avez raison. Ça marche. Il se trouve que j'ai une barre de navigation sur SecondViewController, mais son arrière-plan et la couleur de la flèche arrière sont tous blancs donc il est invisible. J'ai changé la couleur de fond de la vue dans SecondViewController et je vais bien maintenant! – Kashif