iphone - developer - xcode 10 features
¿Cómo usar un xib y una subclase UIView juntos? (1)
Me gustaría crear un par de vistas personalizadas, una especie de componentes de UI reutilizables, y preferiría no diseñar la IU en el código en la subclase UIView. Me gustaría usar un xib para eso. He usado un xib por sí mismo. Y he usado una subclase UIView por sí mismo. Pero no los he usado juntos. ¿Cómo los "adjunto" unos a otros? Me gustaría usar IBOutlets para acceder a UILabels en mi vista personalizada.
¿Funcionará este tipo de cosas?
NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
MyCustomView *view = [xib objectAtIndex:0];
view.myLabel.text = @"fred";
Sí, así es como funciona cuando está cargando xibs que no son padres para ver Controllers
Editar agosto 15, 2013:
No siempre puede asumir que obtendrá exactamente lo que está buscando del índice 0 de la NSArray devuelta, que es lo que hace que sea bueno usar la verificación de tipos.
NSArray *xibArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:nil options:nil];
MyCustomView *myView = nil;
for (id xibObject in xibArray) {
//Loop through array, check for the object we''re interested in.
if ([xibObject isKindOfClass:[MyCustomView class]]) {
//Use casting to cast (id) to (MyCustomView *)
myView = (MyCustomView *)xibObject;
}
}