Quelle est la différence entre un fichier .xib et un .storyboard?


159

Quelqu'un peut-il expliquer en termes simples la différence entre .xib et .storyboard?


Je n'ai aucune idée de ce qu'est un .timeline, et je soupçonne que cela n'a rien à voir avec la chronologie Facebook à laquelle la balise fait référence
iandotkelly

1
sont ces deux questions complètement distinctes, George? Aussi, quand vous dites .timeline, parlez-vous des versions d'un fichier enregistré ?
Michael Dautermann

Vous aviez deux questions distinctes ici, alors je l'ai affinée à une seule. La première question a été posée à quelques reprises ici, comme dans Impossible de trouver une application basée sur une fenêtre sur XCode , j'ai donc supprimé cette partie pour me concentrer sur la question de Storyboarding.
Brad Larson

1
Voir aussi cette question similaire, Quand utiliser Storyboard et quand utiliser XIB . A d'excellentes réponses détaillées, y compris des mises à jour pour iOS 8 et Xcode 6.
Basil Bourque

Réponses:


115

Apple a introduit le concept du "storyboarding"SDK iOS5 pour simplifier et mieux gérer les écrans dans votre application. Vous pouvez toujours utiliser la .xibvoie du développement.

Pré-storyboard, chacun UIViewControlleravait un associé .xib. Storyboardréalise deux choses:

  1. .storyboardest essentiellement un seul fichier pour tous vos écrans dans l'application et il montre le flux des écrans. Vous pouvez ajouter segues/ transitions entre les écrans, de cette façon. Ainsi, cela minimise le code standard requis pour gérer plusieurs écrans.

  2. Minimise le nombre total de fichiers dans une application.

Vous pouvez éviter d'utiliser Storyboardlors de la création d'un nouveau projet en laissant l'option "Utiliser Storyboard" désactivée.

Vous pouvez consulter ce tutoriel pour commencer.


5
Alors, le storyboard remplace-t-il le besoin de fichiers .xib?
William Sham

16
Idéalement, oui. 1 .storyboard file = 'n' no. des fichiers .xib.
Sagar Hatekar

2
Mais qu'en est-il des transitions entre les vues? Je sais qu'il y a des segues, mais il n'y a que quelques styles de segues différents. Je suppose que vous pouvez toujours faire la transition entre les vues de la même manière qu'avant, mais si vous n'utilisez pas de segue, cela aurait l'air bizarre dans le storyboard, non? Que pensez-vous de cela?
dontangg

1
Dans ce cas, je crois que les NavigationControllers entreraient en jeu?
Sagar Hatekar

Fait amusant: j'utilise ce post pour montrer mon crédit iOS (limité): D
Sagar Hatekar

22

Oui, vous pouvez toujours créer une application Windows pour iOS 5. Si vous utilisez le modèle «projet vide», vous verrez qu'une fenêtre est créée pour vous dans le délégué d'application. De là, vous pouvez ajouter des fichiers XIB comme d'habitude, ou un nouveau storyboard.

Je suppose que vous voulez dire "storyboards" plutôt que "chronologie". Les storyboards vous permettent de cartographier visuellement toutes les vues de vos applications et leur interrelation. Si vous êtes débutant avec storyboards, il y a une introduction à storyboards dans la WWDC 2011 vidéos ici . Le cours iOS de Stanford 2011 sur iTunes-U est également spécifique à iOS 5 et couvre les storyboards et plus encore.


15

Un storyboard est comme un canevas où vous placez tous vos fichiers .xib. Vous n'avez plus de .xibs, vous avez juste des contrôleurs de vue directement sur votre canevas.


2
Probablement la réponse la plus utile.
Munib

9

Le storyboard est une nouvelle fonctionnalité disponible depuis la sortie de Xcode 4.2. Il offre une nouvelle façon complète pour les développeurs iOS de créer et de concevoir une interface utilisateur. Avant l'introduction de Storyboard, il est particulièrement difficile pour les débutants de créer une interface de navigation (et d'onglets). Chaque interface est stockée dans un fichier xib séparé. En plus de cela, vous devez écrire du code pour relier toutes les interfaces entre elles et décrire le fonctionnement de la navigation.

Avec les Storyboards, tous les écrans sont stockés dans un seul fichier. Cela vous donne un aperçu conceptuel de la représentation visuelle de l'application et vous montre comment les écrans sont connectés. Xcode fournit un éditeur intégré pour mettre en page les storyboards. Vous pouvez définir la transition (connue sous le nom de segues) entre différents écrans en utilisant simplement le pointer-cliquer. Cela ne signifie pas que vous n'avez pas besoin d'écrire du code pour l'interface utilisateur. Mais les storyboards réduisent considérablement la quantité de code à écrire.

Source: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/


2

XIB:

1) Les fichiers Xib sont utilisés avec un seul UIView.

2) Il est très difficile d'implémenter des mises en page automatiques complexes dans xib.

3) Il utilise plus de mémoire que le storyboard et est lent et silencieux.

4) Il est compatible à partir d'iOS5 et plus

5) Vous pouvez effectuer des localisations pour différentes langues et pays en utilisant différents XIB.

6) Il est difficile d'utiliser le même Xib pour prendre en charge plusieurs appareils.

Storyboard

1) Vous pouvez mettre en page toutes vos scènes comme les contrôleurs de vue, les contrôleurs de navigation, les contrôleurs TabBar, etc. dans un seul storyboard.

2) Vous pouvez facilement utiliser la mise en page automatique qui définit les relations mathématiques entre les éléments définissant leur position et leur dimensionnement.

3) Habituellement rapide et alloue moins de mémoire.

4) Ce n'est pas compatible avant iOS 5.

5) Les cellules «dynamiques» et «prototypes» peuvent être utilisées facilement.

6) Il est préférable d'utiliser les storyboards pour les applications avec une quantité d'écrans petite à moyenne.

La meilleure réponse que j'ai vue: Xib Vs Storyboard dans iOS


0

XIB et Storyboard sont utilisés pour créer des interfaces pour les utilisateurs.

Un point important est que les xibs sont utilisés pour créer une vue unique (il a un seul propriétaire de fichier en haut du fichier xib), mais dans le cas de viewcontroller, plusieurs écrans peuvent être ajoutés et son flux peut également être surveillé (il a propriétaires de fichiers distincts).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.