Est-il possible de passer d'un storyboard à un autre ou d'intégrer un storyboard dans un contrôleur de vue dans un autre storyboard? J'ai besoin de placer un UITabBarController
dans un UINavigationController
, et j'aimerais les garder bien séparés.
133
Réponses:
Oui, mais vous devez le faire par programme:
la source
À partir de Xcode 7, vous pouvez le faire graphiquement en utilisant une référence de storyboard:
Ajoutez une référence de storyboard à votre storyboard. Créer une transition entre ViewController et Storyboard Reference (ctrl + glisser)
Remplissez ensuite ces champs.
Où «Tutorial» est le fichier «Tutorial.storyboard» et «MainTutorialController» est votre champ «Storyboard ID» dans ViewControllerSettings
la source
Vous ne pouvez pas vraiment effectuer de segmentations manuellement car UIStoryboardSegue est une classe abstraite. Vous devez le sous-classer et l'implémenter
perform
pour qu'il fasse quoi que ce soit. Ils sont vraiment destinés à être créés dans des storyboards. Vous pouvez cependant pousser le contrôleur de vue manuellement, ce qui est une bonne solution. La réponse d'lnafziger le fait bien:Une chose à noter, cependant, est que vous avez dit que vous vouliez garder les choses bien séparées. L'idée des storyboards est de vous permettre de garder les choses séparées tout en effectuant tout votre travail de conception en un seul endroit. Chaque contrôleur de vue est agréable et séparé dans le storyboard des autres. L'idée est de tout garder au même endroit. Disposez-le simplement de manière à ce qu'il soit organisé, et vous serez prêt à partir. Vous ne devriez pas le séparer à moins d'avoir une très bonne raison de le faire.
la source
Vous ne devez pas placer UITabBarControllers dans un UINavigationController. Il demande des bogues tels qu'une autorotation incorrecte / un déchargement de vue, etc., car Apple ne prend pas en charge ce type de confinement:
la source
Voici une version rapide:
la source
avez-vous essayé ce qui suit:
2 / cliquez pour sélectionner votre contrôleur de vue qui est lié à votre contrôleur de navigation et dans le menu du haut: éditeur -> incorporer -> contrôleur de la barre d'onglets
Remarque: je ne l'ai pas testé car j'utilise le contraire: créer des applications à barres à onglets et mettre un contrôleur de navigation à l'intérieur).
la source