J'ai un ViewController qui a son propre NIB. Je voudrais intégrer cette NIB à l'intérieur d'un autre maître NIB. Comment puis-je accomplir cela dans Interface Builder et comment puis-je le référencer dans le code?Comment charger une vue externe dans un NIB?
Répondre
Sheehan Alam,
Si vous créez un nouveau projet dans Xcode TabBar vous pouvez voir comment un NIB externe est chargé à partir d'un objet existant dans IB.
Tab Bar Controller http://img.skitch.com/20100329-c2533dqft4q584424926fxfidb.preview.jpgVous pouvez spécifier un NIB pour une viewController utilisant IB via (Commande-1)
First View Controller Attributes http://img.skitch.com/20100329-p83bgd8qyieb5h3dg27beinkj3.preview.jpgChaque NIB a un propriétaire, qui est généralement le contrôleur de la vue principale de ce NIB. Vous pouvez créer une instance de votre contrôleur de vue assez facilement dans Interface Builder. Faites simplement glisser un objet contrôleur de vue et définissez la propriété NIB de manière appropriée.
Le problème est que vous n'avez aucun moyen d'adresser la vue de ce contrôleur depuis Interface Builder. Vous devrez écrire du code pour ajouter la vue du contrôleur de vue intégrée en tant que sous-vue de la vue du contrôleur de vue principale. La façon dont vous effectuez cette opération est spécifique à votre application, mais il devrait suffire d'avoir une prise dans le contrôleur de vue principale qui fait référence au contrôleur de vue intégré.
Ensuite, dans l'implémentation viewDidLoad
du contrôleur de vue principale, vous ajoutez le view
du contrôleur de vue intégré en tant que sous-vue du view
du contrôleur de vue maître. Vous devrez probablement ajuster le cadre de la vue incorporée pour l'adapter correctement.
Je ne peux pas faire glisser un UIViewController dans mon XIB. Lorsque j'ajoute un UIView, je n'ai pas la possibilité de spécifier un nom NIB. –
approche de Alex devrait fonctionner, mais si je comprends bien vous préférez plutôt une façon sans avoir pour programmer [self.view addSubview:embeddedView]
dans la méthode -viewDidLoad
du contrôleur de vue principale.
J'ai écrit comment nous embed custom-view Nibs inside other Nibs dans un blog longish. Le point de repère surcharge -awakeAfterUsingCoder:
dans votre vue personnalisée, en remplaçant l'objet chargé de la plume «maître» par celui chargé à partir de la plume «intégrée».
Notez que notre coutume contrôle sous-classe UIView
, non UIViewController
(voir Apple's docs on Custom view controllers: « Vous ne devriez pas utiliser plusieurs contrôleurs de vue personnalisée pour gérer les différentes parties de la même hiérarchie de vue. »)
- 1. Comment charger un NIB à l'intérieur d'une vue dans un autre NIB?
- 2. iOS utilisant un objet externe dans Nib
- 3. Comment charger un UIView à partir d'un NIB?
- 4. Comment charger une page externe dans un popup jQuery overlay?
- 5. Charger une ligne à partir de NIB dans UIPickerView viewForRow
- 6. Comment charger viewController à partir d'un fichier nib
- 7. Comment charger une sous-vue séparément?
- 8. Chargement d'une NIB externe, comment définir la propriété d'affichage?
- 9. Comment charger plusieurs fichiers nib avec NSBundle loadNibNamed :?
- 10. Comment charger jQuery de Google dans un script externe?
- 11. Comment charger un fichier script externe
- 12. iPhone - Charger un UIView à partir d'un fichier nib?
- 13. Comment puis-je obtenir une vue dans Interface Builder pour charger une vue personnalisée dans une autre plume?
- 14. Comment charger la page/contenu externe dans un DIV
- 15. Comment charger un xib dans une vue détaillée pour une application d'objectif iPad avec vue partagée?
- 16. Charger une image externe dans une fenêtre Ext.Js
- 17. Comment fermer une fenêtre (décharger un NIB)?
- 18. iPhone SDK: Comment charger une vue différente?
- 19. Comment puis-je créer une application basée sur une vue qui n'utilise pas de fichier nib?
- 20. Comment charger une vue sur un bouton, appuyez sur?
- 21. iPhone chargement vue de nib fonctionne seulement une fois
- 22. Comment charger la hauteur UITableViewCell d'un fichier nib?
- 23. Essayer d'obtenir un UILabel à afficher dans une vue, sans un NIB
- 24. Silverlight PRISM charger un module XAP externe
- 25. comment créer une application opengl iphone sans un fichier .nib?
- 26. jQuery charger swf externe dans div
- 27. comment charger le contenu externe dans un div puis l'afficher dans une lightbox en utilisant jquery?
- 28. Comment charger l'image dans la vue texte?
- 29. Comment charger une requête http xml externe avec jquery?
- 30. comment charger une vue dans la fenêtre principale avec pyobjc?
Lorsque j'ajoute un UIViewController à mon projet, il occupe toute la vue. Y a-t-il un moyen de l'afficher en dessous d'autres éléments que je montre à l'écran? Par exemple, en dessous d'un UILabel que j'ai positionné? –