J'ai un UIViewController qui charge plusieurs sous-vues à des moments différents en fonction de l'interaction de l'utilisateur. J'ai initialement construit toutes ces sous-vues en code, sans fichiers nib. Maintenant, je passe à des fichiers nib avec des sous-classes UIView personnalisées.Comment utiliser un contrôleur générique (NSObject) avec des sous-vues d'un UIViewController?
Certaines de ces sous-vues affichent des données statiques et j'utilise loadNibNamed: owner: options: pour les charger dans le contrôleur de vue. D'autres contiennent des contrôles auxquels j'ai besoin d'accéder. Je comprends (en quelque sorte) les raisons pour lesquelles Apple dit d'utiliser un contrôleur de vue par écran de contenu, en utilisant des objets contrôleur génériques (NSObjects) pour gérer les sous-sections d'un écran. J'ai donc besoin d'un contrôleur de vue, d'un contrôleur générique, d'une classe de vue et d'une plume. Comment puis-je mettre tout cela ensemble?
Mes hypothèses de travail et les questions suivantes:
- j'associer la classe de vue avec la pointe dans le menu déroulant « identité de classe » dans IB.
- Le contrôleur de vue coordonnera les interactions globales de l'écran. Lorsque nécessaire, il va créer une instance du contrôleur générique.
- Le contrôleur générique charge-t-il la plume ? Comment?
- Est-ce que je définis les points de vente et les actions dans cette classe de vue ou doivent-ils être dans le contrôleur générique?
- Comment transmettre des messages entre le contrôleur de vue et le contrôleur générique ?
Si quelqu'un peut me pointer vers un exemple de code en utilisant un contrôleur de cette façon, cela m'aidera à comprendre. Aucun des livres ou des messages de stackoverflow que j'ai lus n'ont encore atteint leur but.
Remarque: Si vous souhaitez diviser un seul écran en plusieurs zones et gérer chacune séparément, utilisez des objets de contrôleur génériques (objets personnalisés descendant de NSObject) au lieu de voir les objets de contrôleur pour gérer chaque sous-section de l'écran. Utilisez ensuite un objet contrôleur de vue unique pour gérer les objets de contrôleur génériques. Le contrôleur de vue coordonne les interactions globales de l'écran mais transmet les messages selon les besoins aux objets de contrôleur génériques qu'il gère. – wanderlust