Je veux ajouter une vue personnalisée à un contrôleur de vue, cette vue personnalisée a été créée avec xib et est séparée du contrôleur de vue,
quelqu'un sait-il comment ajouter une uiview avec un xib dans un uiviewcontroller ?
Merci d'avance
Je veux ajouter une vue personnalisée à un contrôleur de vue, cette vue personnalisée a été créée avec xib et est séparée du contrôleur de vue,
quelqu'un sait-il comment ajouter une uiview avec un xib dans un uiviewcontroller ?
Merci d'avance
Vous voulez dire une vue supplémentaire, pas la vue principale du contrôleur ? Dans ce cas, vous pouvez déclarer une propriété pour la vue et charger la NIB à la main :
@interface Controller {}
@property(retain) IBOutlet UIView *extraView;
@end
…
- (void) viewDidLoad // or anywhere else
{
[[NSBundle mainBundle] loadNibNamed:@"extras" owner:self options:nil];
NSAssert(extraView != nil, @"The extra view failed to load.");
[[self view] addSubview:extraView];
}
Cela suppose que vous avez défini l'option Controller
en tant que propriétaire du fichier dans le Générateur d'interface et vous liez la vue à l'interface de l'utilisateur. extraView
sortie. Notez également qu'il peut exister des solutions plus élégantes, comme l'insertion de la vue supplémentaire dans la NIB principale de votre contrôleur ; cela dépend de la situation.
Il semble que vous souhaitiez le scénario le plus courant : charger simplement un fichier personnalisé initialisé. UIView
dans un contrôleur.
Controller
(ou le nom de votre classe de contrôleur) dans le champ Classe.Controller.xib
.initWithNibName:@"Controller" bundle:nil
. Le code d'initialisation doit charger l'interface pour vous et définir la propriété view à la vue décompressée du fichier d'interface.Consultez un tutoriel sur Interface Builder. IB est un outil très intéressant et il est bon de s'y familiariser.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.