NOTE -- cette AQ est ancienne.
Pour aujourd'hui (2014+), il suffit d'utiliser vues des conteneurs qui sont désormais la "façon de tout faire" dans iOS.
Tutoriel ... http://stackoverflow.com/a/23403979/294884
Réponse originale...
Si vous voulez créer un UIView personnalisé (par exemple HandyView) et vous voulez pouvoir le placer dans n'importe quel XIB dans votre projet.
Voici un très simple qui fonctionne dans de nombreux cas.
Créez HandyView.m et HandyView.h. Dans le fichier .h, indiquez
@property (nonatomic, strong) IBOutlet UIView *temp;
Créez un XIB vide appelé HandyView.xib, et placez-y une UIView. Dans le XIB créer le propriétaire du fichier "HandyView". . (Laissez la vue dans la classe "UIView".) Ajoutez autant de contrôles que vous le souhaitez, et ajoutez des IBOutlets pour ceux-ci dans HandyView.h de la manière habituelle.
Dans le fichier .m...
-(void)awakeFromNib
{
[[NSBundle mainBundle] loadNibNamed:@"HandyView" owner:self options:nil];
self.temp.frame = self.bounds;
[self addSubview:self.temp];
[super awakeFromNib];
}
Dans le XIB "HandyView", il obéira aux "ressorts et barres", etc. de la manière habituelle.
(Il est à noter que "HandyView" n'est sans doute pas le meilleur nom pour ce XIB, car il ne s'agit pas d'un HandyView, mais d'une vue que HandyView charge "QUI DEVIENT" (effectivement) HandyView. Vous pouvez préférer un nom comme "HandyViewGuts.xib").
Vous pouvez maintenant utiliser "HandyView" de manière "normale" dans n'importe quel XIB de votre application .
Sur n'importe quel xib, il suffit de glisser un UIView, et de changer la classe en "HandyView". Redimensionnez-le ou n'importe quoi d'autre, et au moment de l'exécution, il fonctionnera comme vous vous y attendez.
Inconvénient : disons que vous avez une instance de HandyView, xxx. Si, dans un autre code, vous faites référence à xxx.view, il s'agit en fait de la vue principale "enveloppante" de HandyView - ce n'est pas "le" HandyView dans votre XIB. (Toutes les autres sorties, etc. de HandyView fonctionnent normalement.) Si vous redimensionnez souvent la vue pour une raison quelconque, vous risquez de vous retrouver dans l'embarras.
J'espère que cela aidera quelqu'un.