Est-il possible d'avoir un seul écran iPhone avec son affichage chargé depuis un xib par UIViewController de cet écran, mais un autre UIView dans cet écran avec le contenu chargé à partir d'un fichier xib séparé? Si oui, est-il possible que les événements de cette vue imbriquée soient gérés par une sous-classe UIViewController personnalisée distincte du reste de l'écran? Si ces deux choses sont possibles, sont-elles également recommandées?iPhone - Vues et contrôleurs imbriqués
Répondre
C'est possible. Apple suggère de ne pas avoir plus d'un UIViewController actif sur l'écran à la fois, donc ils déconseilleraient. Je suggérerais seulement de le faire si la raison pour le contrôleur de seconde vue est la navigation ou modale. Un contrôleur de vue dans le but de charger d'autres contrôleurs de vue, comme un contrôleur de navigation, a besoin d'un certain espace d'écran pour lui-même et utilise le reste pour charger un autre contrôleur de vue. C'est bon. Le critère ici est qu'un seul contrôleur présente du contenu tandis que l'autre présente la navigation.
Un contrôleur de vue peut charger un autre contrôleur de vue pour effectuer une tâche limitée, par exemple sélectionner un élément dans une liste ou entrer du texte. Le deuxième contrôleur de vue peut seulement remplir une partie de l'écran. Le critère ici est que le contrôleur se comporte de manière modale et ne sera affiché que suffisamment longtemps pour obtenir une entrée de l'utilisateur. En ce qui concerne le cas général de la division de l'écran entre deux contrôleurs de vue présentant du contenu, la suggestion d'Apple est que vous ayez une seule classe dérivée de UIViewController pour gérer les vues. Si la vue est suffisamment complexe pour justifier d'autres contrôleurs, dérivez-la de NSObject et demandez au contrôleur de vue principale de gérer les contrôleurs enfants avec les vues. Les contrôleurs enfants auraient le contrôleur principal en tant que délégué et le contrôleur maître transmettrait des vues aux contrôleurs enfants pour les gérer mais pas les posséder.
- 1. iPhone façonné à la main vues/contrôleurs
- 2. MVC Patterns - contrôleurs et vues
- 3. asp.net mvc - Vues et contrôleurs
- 4. Rspec: tester les contrôleurs imbriqués
- 5. UIToolBar single Contrôleurs de vue et contrôleurs de vues multiples
- 6. Vues et contrôleurs multiples dans UITabBarController
- 7. Vues composites et contrôleurs de vue
- 8. Communication entre les vues Contrôleurs
- 9. Effectuer une somme avec les contrôleurs imbriqués
- 10. Méthode d'appel dans les contrôleurs parents imbriqués
- 11. Contrôleurs à vues multiples, suis-je foutu?
- 12. Comment préserver les vues et les contrôleurs lors du redémarrage d'une application sur iPhone?
- 13. iPhone - vues et contrôle segmentée
- 14. MVC: relations de cardinalité des vues et des contrôleurs
- 15. Passer des données entre les vues et les contrôleurs
- 16. Rails assistant pour les vues et les contrôleurs?
- 17. ASP.NET MVC Beta - Grouper les contrôleurs et les vues possibles?
- 18. Sous-dossiers dans les contrôleurs et les vues
- 19. Contrôleurs et vues dans une bibliothèque de classes
- 20. MVC: Vues imbriquées et contrôleurs (pour un site Web)
- 21. Contrôleurs TabBar iphone
- 22. Développement iPhone - Commutation Vues
- 23. A quoi ressemble l'organisation de classes MVC pour plusieurs vues et contrôleurs?
- 24. La meilleure façon de combiner des vues/contrôleurs existants?
- 25. iPhone - ajouter des vues et l'orientation paysage
- 26. Iphone SDK - Sous-vues multiples et shouldAutorotateInterfaceOrientation
- 27. iPhone UITabBarController et rotation des vues
- 28. contrôleurs iAd et afficher
- 29. iPhone - Page Scroll View Aide, arrêtez l'allocation des différents contrôleurs de vues
- 30. Comment créer une vue qui persiste à travers toutes les autres vues et contrôleurs?
Excellente réponse informative. On dirait que je peux me qualifier ... mais votre réponse me fait penser qu'il pourrait y avoir un meilleur moyen. Je suis très nouveau à l'objectif-c et relativement nouveau à la programmation orientée objet/mvc. Je pense que la bonne façon de faire ce que j'ai besoin est de sous-classer UIViewController et ensuite de sous-classer cette classe personnalisée à partir d'une variété de contrôleurs de vue. Je vous remercie. – codemonkey
Je crée également une classe de base UIViewController personnalisée pour la plupart de mes projets. – drawnonward