Me parecen disfrutar con el diseño de nuevas UIViews y UIControls que implementan sus propios -drawRect: método. Esto funciona bien para mí, especialmente cuando compuso utilizando UIViews en el Interface Builder.

Pero componer ellos en el Interface Builder es molesto, ya que sólo se muestran como aburrido llanura rectángulos.

Sería genial si la opinión de representar realmente a sí mismos como los controles integrados hacer.

Es allí cualquier manera de la que puedo estructurar mi proyecto para que el Interface Builder le hacen a mi de vistas personalizadas?

2 Comentarios

  1. 18

    Con el fin de hacer esto, usted realmente tiene que crear un plug-in para el Generador de Interfaz que utiliza la clase personalizada. Una vez que crear e instalar el plug-in, usted será capaz de arrastrar y soltar las instancias de la clase (la vista) en otra ventana/ver/lo que sea, como cualquier otro control. Para empezar con la creación de IB Plugins, por favor consulte la Interfaz De Plug-In De La Guía De Programación. También, recomiendo echar un vistazo a Aaron Hillegass del libro, El cacao de Programación para Mac OS X. Además de estar muy bien escrito y fácil de entender, tiene un capítulo sobre la creación de su propio IB de la Paleta de controles.

    • Solo un comentario para las personas que llegan a este post en el 2012+: Xcode 4 no admite IB plugins más. Estás de suerte.
    • Gracias @RandyMarsh para que me ahorro, posiblemente, de 30 a 60 minutos 🙂
    • Eres bienvenido. 🙂 Y lo siento por tener que seguir buscando un poco elegante solución para su problema, cualquiera que este sea. :-p
    • En mi copia de Hillegass del libro (tercera edición, misma que se enlaza a) no se puede encontrar un capítulo sobre la creación de su propio IB de la Paleta de controles. Podría tal vez me dé el número de página/título del capítulo?
    • No puedo encontrar ninguna diferencia entre el índice de la versión en línea y mi copia. Estás seguro de que es ese libro? Por cierto, el enlace a Apple IB Plug-in de la Guía de Programación está muerto.
    • Para ser claro: Es imposible con Xcode 4+ y storyboards?
    • He actualizado el enlace, 11684 de lo que acerca de la actualización del vínculo por su auto, el nombre del documento no va a cambiar 😉 y google le da la capacidad para la búsqueda aún SÓLO un nombre…..

  2. 0

    Esto se puede lograr mediante el marcado de su UIView subclase con @IBDesignable. Una vez hecho esto, sus vistas personalizadas, se representará a sí mismos en el Interface Builder. Usted puede incluso agregar los parámetros que pueden ser configurados por los marca como @IBInspectable. He aquí un rápido ejemplo:

    @IBDesignable class customView: UIView {
    
        @IBInspectable var count: Int = 0
    
    }

    Hay un artículo sobre NSHipster que proporciona más detalles.

    • Mediante el enfoque anterior no podemos agregar la vista Personalizada en la Biblioteca de Objetos.
    • Tienes razón, pero la pregunta no se pregunta sobre la realización de la vista agregado a la biblioteca de objeto.
    • Esta pregunta está vinculada a otro que le pregunta cómo agregar una vista personalizada en la Biblioteca de Objeto – por lo que muchos de nosotros vinimos aquí buscando que. 😉

Dejar respuesta

Please enter your comment!
Please enter your name here