Est-il possible d'intégrer segue/contenant vue dans une scrollview avec code?
Sur un iPhone projet, je suis en utilisant Xcode storyboard pour incorporer un peu d'contenant des vues principales de défilement de la vue. J'ai entendu dire contenant point de vue est également un "embed segue". Maintenant, je n'ai pas nécessairement besoin d'intégrer d'autres enfants contrôleurs, j'aurais pu juste de créer des vues personnalisées et originales enfant de contrôleurs de la logique dans des sous-vues. (Je pense que je vais juste le faire après le poster ici, car il semble plus facile.) Mais j'ai déjà fait le code et vous voulez savoir comment facile ou difficile c'est de rester avec elle.
En raison de défilement afficher le contenu est plus grand que l'écran principal de limites, il est plus difficile pour la mise en conteneur de vue dans le storyboard. Je peux penser à trois façons de le résoudre. Je peux soit
- Faites glisser le défilement de la vue en haut et en bas et de mettre mon conteneur points de vue.
- Il suffit de glisser certains voient dans le défilement de l'affichage, puis redimensionner l'image dans le contrôleur principal de viewDidLoad. (Et si je fais de la mise en page automatique alors que je voudrais ajouter, mise en page automatique) Mais tout semble défier l'avantage d'avoir un storyboard et d'intégrer des enchaînements en premier lieu. Mais il me semble plus facile que le #3 si j'ai d'interagir avec les enfants de vue des contrôleurs.
- Oublier storyboard et il suffit d'écrire un Contenant contrôleur logique (comme décrit dans la WWDC 2012 vidéo mise en Œuvre de UIViewController de Confinement), mais cela semble compliqué.
Est-il un moyen de créer intégrer segue dans Xcode, mais PAS de le mettre dans mais de faire quelque chose comme un "manuel de transition", comme avec d'autres afficher les transitions? Je ne serais pas en mesure de voir la mise en page dans le storyboard, mais au moins il sera plus facile que le #3 et je n'ai pas à faire glisser de haut en bas comme le n ° 2 qui semble idiot.
Si vous ajoutez des points de vue ou de la vue des contrôleurs (via l'incorporer segue) dépend de ce que vous faites dans ces vues. Il est difficile de vous conseiller sans savoir ce que vous voulez faire.
Voulez-vous dire la même chose que je dis? Je parle de l'ajout de l'enfant sous la vue des contrôleurs. C'est à une heure de la WWDC vidéo sur le sujet, ne peut pas être si facile. =/
Supposons que je veux juste ajouter un enfant contrôleurs de vue, c'est ce que ma question a été visé.
Je suppose que je peux encore le faire de la manière, j'ai toujours en storyboard, je me retrouve avec cette solution: stackoverflow.com/questions/16889123/...
OriginalL'auteur huggie | 2013-09-21
Vous devez vous connecter pour publier un commentaire.
Je comprends que la WWDC a une heure de vidéo sur elle. Mais si vous avez regardé une de leurs autres vidéos il devrait être tout à fait clair que le temps ne se rapportent pas directement à la complexité. C'est la façon dont vous utilisez un récipient (ou un enfant de la sous-vue-contrôleur) programme:
Assez simple et seulement deux lignes de code supplémentaires par rapport à l'ajout d'un sous-vue. Comme vous l'avez dit, il y a storyboard des solutions, mais en fonction de votre complexité, en faisant ce code peut être plus facile. Il s'agit vraiment de vos préférences.
Si vous avez l'intention d'animer l'ajout de la vue, vous devriez faire le dernier appel à
didMoveToParentViewController
à la fin du bloc (c'est à dire après l'animation a été réalisé).Et n'oubliez pas d'appeler
-willMoveToParentViewController:
avant d'appeler-addChildViewController:
.automatiquement les appels
willMoveToParentViewController:
pour vous. La raison pour laquelle vous devez manuellement appeldidMoveToParentViewController
est parce que vous êtes responsable quand il sera ajouté.Oh, j'ai mal lu la doc. Nous devons appeler
-willMoveToParentViewController:
sur l'enfant supprimé dans le conteneur personnalisé contrôleur. Mais comme vous l'avez dit, cette méthode est appelée sur les enfants pour nous lorsque nous appelons-addChildViewController:
. Merci @Firo.OriginalL'auteur Firo
Voici les fonctions d'aide-je utiliser de programmation pour intégrer un enfant de-vue-contrôleur de vue.
Utilisation:
Où:
Je pense que j'ai figuré que -> childViewController.vue.frame = containerView.cadre fait le truc pour moi
dans mon exemple, je suis intégration de l'enfant-vue-contrôleur de la programmation, non pas à partir de la table de montage séquentiel. J'ai créer fillParent afin de créer des contraintes de mise en forme. Cela vous permettra de garder la taille de l'enfant même en tant que parent, si la taille du parent changements (changement d'orientation, par exemple).
Incroyable réponse, merci beaucoup!
OriginalL'auteur Evgenii