6
votes

Avons-nous besoin d'utiliser 2 scénario pour une application universelle?

J'ai un projet pour iPhone et iPad. L'iPad a besoin d'un contrôleur de visualisation split. Créa-t-on deux storyboards distincts? Un pour iPhone (en utilisant Autolayout, nous pouvons prendre en charge tous les appareils) et deux pour iPad. Mon doute est la différence que dans la vue initiale. Les vues intérieures se répètent. Comment sera votre approche avec Storyboard?


0 commentaires

6 Réponses :


15
votes

Pas besoin de deux storyboards plus dans iOS 8! Nous pouvons utiliser l'interface utilisateur adaptative pour adapter le même storyboard toutes les tailles d'iPad et iPhone.

Vous pouvez trouver un bon tutoriel ici http://www.raywenderlich.com/83276/beginning -Andaptive-mise en page-tutoriel

Et aussi vous pouvez trouver une belle vidéo de Apple dans la conférence WWDC ici et recherchez "Bâtiment Adaptive Applications avec Uikit "

Fondamentalement, nous pouvons gérer différentes tailles d'écran en définissant des éléments de notre UI dans Storyboard pour différentes classes de taille. Nous pouvons également définir différentes contraintes de mise en page automatique pour différentes classes de taille.

Et ce sont toutes des classes de taille possibles dans iOS 8 (j'ai pris l'image de https://medium.com/@getaaron/ios-8-development-tips-for-iphone-6-and-iwatch-1c772554ffe0 )

Entrez la description de l'image ici


1 commentaires

Merci pour les liens!



1
votes

sur iOS 8, vous n'avez pas besoin de deux scénario puisqu'un storyboard unique peut gérer à la fois iPhone et iPad; En outre, UisplitViewController est également pris en charge sur le téléphone sur ce système d'exploitation.

Pour les versions antérieures d'IOS, vous aurez besoin de deux scénario.


0 commentaires

6
votes

Pour iOS 7 et avant, oui, utilisez deux stores et deux interfaces complètement différentes, car il n'y a pas de contrôleur de visualisation scindé sur l'iPhone.

Pour iOS 8, utilisez un storyboard et utilisez l'UisplitViewController sur l'iPad et l'iPhone. Faites un nouveau projet de la version universelle du modèle d'application Xcode 6 Master-Détail pour tout voir sur la façon dont cela fonctionne! Il s'agit automatiquement d'un contrôleur de visualisation divisé sur l'iPad et une interface de navigation sur l'iPhone.


1 commentaires

Et voici mon exemple montrant comment construire le tout pour iOS 8 en code, si vous ne voulez pas utiliser le storyboard: GITUB.COM/MATTNEUT/PROGAMMING-IOS-BOOK-EXAMPLES/TREE/MASTE R / ...



1
votes

Vous pouvez avoir beaucoup plus que deux scénario. Si vous ne parvenez pas à nous des classes de taille / la mise en page automatique pour accomplir le travail d'un contrôleur d'affichage partagé entre iPhone et iPad, vous pouvez diviser cette partie dans des storyboards distincts. Vous pouvez ensuite créer un troisième scénario qui contient les contrôleurs d'affichage partagés. Vous pouvez ensuite instancier ce storyboard en code et l'utiliser pour instancier ses contrôleurs d'affichage.


0 commentaires

1
votes

J'ai réussi à avoir ce scénario (contrôleur divisé dans une scénario universelle qui fonctionne à la fois sur iOS8 et iOS7) en appelant une séance différente sur iOS7 et iPhone. Mon scénario est comme ceci:

J'ai un contrôleur de connexion supposé Segue à un contrôleur principal (modelairement).

Lorsque sur iOS8 ou iPad, j'utilise un point de sévère sur le contrôleur de la vue Split View, Lorsque lorsque sur iOS7-iPhone, j'utilise une autre Segue qui pointe directement sur le contrôleur de navigateur de gauche du contrôleur Split (le contourner entièrement).

Si du contrôleur gauche, vous avez une SEGUE détaillée qui pointe vers la droite NAV Controller (et vous devez) et si le type de Segue est "Afficher le détail" (et il devrait), il fonctionnera comme une poussée régulière dans l'environnement iOS7-iPhone (ce qui est exactement ce que nous voulons). < P> En ce que je me suis remarqué, le contrôleur de destination de la Segue détaillé dans le scénario iOs7-iPhone devient le contrôleur de vue racine de la bonne valeur liquidative (même si la SEGUE pointe vers la NAV), donc si vous avez du code dans le < Code> PREPARYFORSEGUEGUE Vous devrez peut-être l'adapter pour les gérer différemment)

(pour déterminer si la plate-forme est iOS8 et si je suis sur iPhone / iPad idiom J'utilise la norme xxx


0 commentaires

3
votes

Même avec une interface utilisateur adaptative, personnellement, je préfère travailler sur différents storyboard. Pour une mise en page complexe, il est plus facile de cette façon et il ne cassera pas facilement la mise en page pour une autre taille d'écran. Avoir trop de contrainte peut rendre plus difficile à maintenir. Déplacement également la hiérarchie de l'objet brisera la mise en page pour un autre écran.

comme bonus, si vous travaillez avec Mac de niveau bas comme Mackbook Air ou Old Mac, il réduit également le temps de chargement et obtenez une meilleure réactivité lorsque vous travaillez avec Storyboard.


0 commentaires