J'essaie d'avoir des contrôleurs de vue imbriqués pour le contrôleur de vue de détail d'un UISplitViewController. Pour simplifier les choses, je laisse la vue principale telle qu’elle est; la vue de détail contient un bouton ",Aller plus loin", qui est le deuxième contrôleur de vue. Dans un appareil compact, l'iPhone, tout fonctionne correctement, l'utilisateur appuie sur"Aller plus loin"et il navigue vers le deuxième contrôleur de vue et le bouton de retour apparaît en haut à gauche et l’utilisateur peut revenir à la première vue.
Mais en mode paysage pour iPad, lorsque l'utilisateur clique sur "Aller plus loin"et naviguez vers le deuxième contrôleur de vue, il n’y a pas de bouton Précédent.
Et tout le projet est disponible sur https://github.com/maysamsh/SplitViewWithNestedDetailViews
Réponses:
2 pour la réponse № 1- La racine du problème est le contrôleur de navigation entre le premier et le second. Ce n'est pas nécessaire, alors allez-y et supprimez-le.
- Créez une séquence Push directement du bouton Aller plus à la vue Second.
Changez le prepareForSegue dans FirstViewController à ceci:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let controller = segue.destination controller.navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem controller.navigationItem.leftItemsSupplementBackButton = true print("prepare") }