2010-04-15 12 views
18

He estado usando UIViewController sy initWithNibName con mucho éxito, básicamente utilizándolas como una forma conveniente de diseñar la vista con Interface Builder. Por desgracia he construido una jerarquía de puntos de vista antes de notar esta línea en la documentación UIViewController:¿Cómo cargar un UIView desde un NIB?

Nota: Usted no debe utilizar la vista controladores para administrar vistas que llenan sólo una parte de su ventana

Mi pregunta es la siguiente: Teniendo un NIB muy simple que solo tiene un UIView además del Primer Respondedor y Objeto Propietario predeterminado, ¿cuál es la forma más sencilla de cargar el UIView en mi código?

No he podido obtener loadNibNamed:owner:options: para trabajar en este punto, pero sospecho que la respuesta lo implicará de alguna manera.

Respuesta

29

Sí, acaba de llamar

[[NSBundle mainBundle] loadNibNamed:@"viewNib" owner:self options:nil]; 

lo hace normalmente esto desde el controlador de vista ha configurado como propietario del fichero en el BNI. De esta forma, puede declarar una salida para la vista en el controlador de vista que se conectará automáticamente cuando cargue el archivo NIB. Ni siquiera tiene que trabajar con el valor de retorno del método en este caso.

+0

Gracias, me faltaba la parte 'mainBundle' – Winder

+1

Hola, una pregunta rápida: ¿este enfoque es manejar el caso de tener una clase CustomView? Si el propietario del archivo es el controlador de vista, desde el cual se inicializa la vista, ¿cómo engancho todos los elementos en el plumín (como MyLabel) a la clase de vista personalizada IBOutlet? – aneuryzm

+0

Simplemente clasifique la vista en su clase personalizada en IB y luego conecte los puntos de venta. No hay diferencia con lo que siempre harías. –

Cuestiones relacionadas