Charge personnalisée UIView avec XIB à partir d'une Vue du Contrôleur de vue à l'aide de l'IB
J'ai un custom UIView
(MyCustomUIView
) qui est construit à l'aide de Interface Builder. Je voudrais placer cette vue personnalisée dans MyViewController
's de vue, qui est également conçu à l'aide de l'IB. J'ai passé une UIView
comme une sous-vue dans MyViewController
's XIB et de l'ensemble de la classe à MyCustomUIView
. Le problème c'est que quand je lance le code, seulement un vide s'affiche. (Lorsque j'instancie MyCustomUIView
dans le code, il affiche bien.)
Je suis le seul à en substituant les initWithFrame:
méthode de la manière suivante dans MyCustomUIView.m
:
- (id)initWithFrame:(CGRect)frame
{
[[NSBundle mainBundle] loadNibNamed:@"MyCustomUIView" owner:self options:nil];
self = self.view;
return self;
}
Que dois-je faire pour rendre la vue à charge correctement? Comment doit - initWithCoder:
ressembler?
Vous devez vous connecter pour publier un commentaire.
Vous sont corrects. IB utilise initWithCoder. initWithCoder devrait être très similaire à d'autres méthodes init:
Une fois que vous affectez à votre classe au sein de l'IB, vous n'aurez pas besoin d'instancier du lot si je ne suis malentendu votre intention.
Ne pas mettre n'importe quoi dans la vue une partie de la vue contrôleur au bureau de l'IB. Au lieu de cela, définir la plume pour le nom de-vue-contrôleur au bureau de l'IB pour le nom de la plume contenant la vue. Dans la plume contenant la vue, définir le propriétaire du fichier à la vue de contrôleur de classe et d'accrocher son
view
bien à la vue.Le résultat sera que lorsque le contrôleur est instancié, si elle est instancié à partir de la plume (que vous n'avez pas prouver, c'est ce qui va vraiment se passer, mais disons simplement que c'est), il va trouver de la plume et de charger la vue de lui.
Fondamentalement, la règle est qu'il ne fait aucune différence, où une vue contrôleur vient, il faudra passer par les mêmes étapes à la recherche de son point de vue dans le même ordre, comme je l'explique dans mon livre:
http://www.apeth.com/iOSBook/ch19.html#_view_controller_and_view_creation
et dans ce webcast:
http://www.youtube.com/watch?v=zIufcKpDIRo