2012-08-08 20 views
6

Vengo del mundo de C# y Winforms donde puedo construir un UserControl personalizado y arrastrarlo a un formulario como si fuera un control común. ¿Hay alguna manera de hacerlo en Xcode y Interface Builder?¿Arrastra la vista personalizada en la ventana en Interface Builder?

Solo he visto cómo configurar la vista en tiempo de ejecución, pero me gustaría verla en mi ventana en el momento del diseño. Por ejemplo, espero que mi vista personalizada aparezca en los controles disponibles.

Gracias!

Simon

+0

Hay una vista personalizada en IB, simplemente arrástrela. – rdelmar

+0

@rdelmar - ¿cómo asocio la vista personalizada con mi vista real? Ahora mismo veo una caja que dice "Vista personalizada". –

+0

Seleccione la vista personalizada y luego, en el inspector de identidad, configure su clase en su subclase NSView. – rdelmar

Respuesta

6

Interface Builder no añade (o permitir la adición de, ahora que los plugins son abandonados IB) objetos personalizados a la biblioteca de objetos. Solo puede arrastrar objetos existentes/preestablecidos, pero puede tener IB instanciarlos como instancias de una subclase siempre que se instancia de la misma manera.

E.g. Arrastre en una vista personalizada y establece la clase a laMyCustomViewClass, o arrastre en una vista de desplazamiento y establece la clase a laMyCustomScrollView, o arrastre en un objeto y establece la clase a laCustomObject, etcétera.

Y esa es la forma preferida de usar controles personalizados en Interface Builder.

enter image description here

1

Básicamente, sólo arrancando el comentario de rdelmar ... pero pensé que una imagen sería útil enter image description here

Arrastre una vista normal en IB, a continuación, seleccionarlo y hacer esto.

1

Cada ventana que cree en IB tiene una vista sobre ella como su primer subcomponente. No es necesario crear una vista personalizada separada para él. Si realmente está subclasificando, simplemente cambie el nombre de la clase en el inspector.

0

Además de lo que se ha mencionado en este hilo acerca de agregar el nombre de su vista personalizada al archivo del controlador de vista XIB, que se necesitan para anulacióninitWithCoder en su vista personalizada.

Cuestiones relacionadas