iPhone Storyboard: scène différente pour le portrait et paysage
Si vous faites défiler vers le bas un peu à ce Apple Developer Page vous trouverez la section "Création d'un autre Paysage de l'Interface". L'approche de base, décrite il y a à présent une autre PLUME fichier comme un modal de vue lors de changements d'orientation. Je suis à l'aide de la table de montage séquentiel fonctionnalité, donc je n'ai pas de Plumes. Comment puis-je charger une autre "scène" dans ce cas?
En plus de cela, je suis en utilisant une Barre d'Onglet contrôleur, je ne veux pas afficher une vue modal. Je veux juste remplacer le portrait actuel de la vue avec un paysage conçu avec interface builder et garder ma barre d'onglet. Quel serait le Storyboard de la façon de réaliser la tâche "de la Création d'un autre Paysage de l'Interface"? Merci.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous ajoutez une-vue-contrôleur à la table de montage, il est livré avec un point de vue. L'appel que le conteneur de la vue. Ajouter deux points de vue pour le conteneur de vue: mode portrait et un paysage. Définir la dimension de la mode portrait et le mode paysage de façon appropriée à l'aide de la taille de l'inspecteur. Ajouter les boutons, les plus vues, les étiquettes ou que ce soit pour les vues portrait et paysage en tant que de besoin pour votre application. Puis, quand les changements d'orientation de masquer un point de vue et de montrer l'autre.
Vous pouvez configurer une manette de navigation et un affichage principal. Ensuite, vous pouvez utiliser un modèle pour le portrait et le paysage des mises en page (2 vues).
Vous devrez configurer les contrôles sur l'écran principal et assurez-vous que chacun a une étiquette unique. Votre vue principale ne sera pas utilisé, à la place vous permettra de copier les commandes pour le modèle de deux points de vue et de les configurer en fonction de comment vous voulez que chaque point de vue pour regarder. L'avantage à cela est que chaque vue doit conserver son numéro, qui devient un élément très important de cette mise en œuvre.
Faire cela, vous devez utiliser une approche hybride en ce qui concerne l'écriture de code de l'INTERFACE utilisateur et l'aide de Interface Builder. Après l'obtention des deux modèles de l'installation, créer un identifiant unique pour chacun. Vous aurez à passer un peu de logique pour gérer l'affichage et de ses sous-vues. Une méthode récursive pour retourner une collection de ces basé sur le modèle que vous choisissez.
La logique de base en vue de la racine de contrôleur de la mise en œuvre sera nécessaire de vérifier la isPortrait et sur cette base, vous voulez charger la vue correcte basée sur l'identifiant.
Expérimenter avec ce concept et voir si cela fonctionne pour vous. Les principaux avantages à pas à l'aide de deux vues distinctes avec des contrôles uniques (pas la même approche avec les mêmes balises) que vous ayez accès à votre originale sous-vues. Toute instance de variables que vous définissez dans votre vue-contrôleur qui pointe vers un texte déposé, étiquette, etc... continuer à le faire quel que soit le modèle de la vue est utilisé. Cela permet de maintenir le modèle, vue, contrôleur d'approche de la structure de données reste inchangé.
En utilisant cette approche, vous pouvez encore optimiser l'utilisation de l'interface builder, et la mise en page des modèles pour chaque vue, tout en ayant la souplesse nécessaire pour écrire une partie de l'INTERFACE utilisateur personnalisée code si vous le désirez. En utilisant uniquement une interface builder peut être un peu limite parfois, et d'écrire du code personnalisé basé sur l'orientation des serrures de vous pour un peu de travail fastidieux.
Espère que cela aide certains.
Vous pouvez faire un xib fichier qui contient 2 uiviews, un à l'avant portrait et un paysage.
Attribuer en tant que propriétaire du fichier de la xib, le même viewcontroller de la vue que vous avez dans le storyboard.
Dans le viewDidLoad charger le fichier xib, et ajouter le appropriete vue portrait ou paysage.
Donc si vous avez une table de montage avec de nombreux viewcontrollers, vous pouvez définir les deux possibilité (portrait ou paysage) que dans les viewcontrollers que vous êtes intéressé à changer l'orientation.
J'ai utilisé cette solution et fonctionne très bien !