Il y a un nouveau contrôle dans Xcode7 beta
nommé en tant que Storyboard Reference
. Ci-dessous, son image.
Il a sa description comme
Fournit un espace réservé pour un contrôleur de vue dans un storyboard externe. Les séquences connectées à cet espace réservé instancieront le contrôleur de vue référencé lors de l'exécution.
Donc les questions sont
PDATE (6 janvier 2016): Je veux juste mentionner rapidement que l'utilisation des références Storyboard est très simple et va aller vous aider à utiliser les Storyboards de manière beaucoup plus propre et facile à gérer. n bon exemple, c’est par exemple un UITabBarController
avec plusieurs onglets. Créez simplement un Storyboard pour chaque onglet et dans votre Main.Storyboard
lien vers ces Storyboards individuels utilisant des références de Storyboard. L'utilisation est très simple: après avoir créé une référence de Storyboard, il vous suffit de lui donner le nom de fichier du storyboard individuel vers lequel vous souhaitez créer un lien et définir le contrôleur de vue initial de ce storyboard individuel. C'est ça! :)
Ce qui suit est maintenant le réponse originale j'ai donné à la question de @ YogeshSuthar.
cela peut être utilisé dans les cas où vous utilisez plusieurs story-boards dans votre application. jusqu'à présent, vous deviez instancier par programmation des contrôleurs de vue à partir d'autres story-boards. Il semble que vous puissiez simplement utiliser cette référence et créer votre séquence dans les story-boards, comme avec les contrôleurs de vue du même story-board.
oui, vous connectez un contrôleur de vue de votre storyboard actuel avec un autre contrôleur de vue d'un storyboard différent et vous pouvez créer une transition entre ces deux
oui, cela peut être utilisé pour remplacer le code utilisé auparavant pour instancier par programmation des contrôleurs de vue à partir d'autres storyboards
[UPDATE thx to @AlexBasson] Les références de Storyboard peuvent être déployées sur iOS 8, OS X 10.1 et watchOS 1.
Bien d'autres réponses sont correctes à mes questions.
Et je veux poster l'utilisation de la Storyboard Reference
qui est utilisé pour ouvrir les contrôleurs Voir à partir d'un autre storyboard via segue sans écrire de code. :)
NewStoryboard
).NewStoryboard
.Storyboard ID
_ (J'ai donné newVC
).Storyboard Reference
contrôle dans ce storyboard.Storyboard Reference
contrôle et sélectionnez Attributes Inspector
.NewStoryboard
.newVC
(que vous avez utilisé dans le storyboard NewStoryboard
).Storyboard Reference
par l'intermédiaire de ViewController. Maintenant, il va ouvrir ceci VC via segue sans écrire de code. :)On dirait peut-être pas: /
Les références Storyboard nécessitaient une application ciblant au moins iOS 9.0, OS X 10.11 ou WatchKit 2.0 pour watchOS.
Source: WatchOS Developer Library: Ajout d’une référence à un autre storyboard
- Est-ce que cela fonctionnera sur les anciennes versions d'iOS (avant iOS 9)?
Voici une solution de contournement (vérifiée par Xcode 8 et iOS 8.2):
Je viens de tester la référence du storyboard dans Xcode 7 avec iOS 8 et cela a échoué.
Illegal Configuration: Storyboard References cannot be the destinations of
relationship segues prior to iOS 9.0
Sur la dernière bibliothèque de développeurs iOS , la documentation de versions Xcode est également ajoutée cette note ( Version actuelle: Xcode 7.2.1):
Les références Storyboard peuvent maintenant être déployées sur iOS 8, OS X 10.10 et watchOS 1.
Cela signifie de bonnes nouvelles, mais gardez toujours à l'esprit que:
Les références de storyboard ne peuvent pas être les destinations des segments de relation antérieurs à iOS 9.0
Donc, si vous êtes au courant de ces deux points, alors vous êtes prêt à partir :)
Lorsque nous avons une grosse application avec trop d’écrans et de modules, diviser le storyboard en plusieurs storyboards selon les modules est une bonne option. Lorsque vous utilisez plusieurs story-boards, vous pouvez utiliser ce contrôle si vous devez connecter une transition entre les contrôleurs ViewControllers de différents story-boards. Si vous utilisez ce contrôle, inutile de coder des éléments tels que instantiateViewController et pushViewController, etc. Vous pouvez simplement connecter la séquence, effectuer la séquence et, si vous en avez besoin, utiliser prepareForSegue.
Discutons de toutes vos questions:
Dans quelles situations devrions-nous utiliser ceci? - Je pense que vous avez trouvé votre réponse ci-dessus.
Est-ce utilisé pour connecter deux contrôleurs de vue de storyboard via segue? - OUI
Cette approche est-elle utilisée pour remplacer VC d’un autre storyboard par programmation? - rien à voir avec le codage lors de l’utilisation de ce contrôle
Est-ce que cela fonctionnera sur les anciennes versions d'iOS (avant iOS 9)? - Cela peut marcher, je ne l'ai pas essayé