Apple Interface Builder: añadiendo subvista a UIImageView
uiimageview set image swift (4)
¡No puede agregar una subvista a UIImageView en el creador de interfaces por razones que solo Apple conoce! Tiene razón al decir que puede agregar Subvista mediante programación, pero luego, la sobrecarga de establecer máscaras y ubicaciones autorizadas de subvistas debe manejarse en código, lo que es incómodo.
Así que hay una solución fácil. En lugar de arrastrar una instancia de UIImageView en la punta, solo arrastre una UIView y cambie su clase a UIImageView desde UIView (opción cmd + 4 de inspector). La única diferencia que encuentra en la punta para la instancia predeterminada de imageView y su nueva instancia de subclase UIImageView es: no puede configurar la imagen en su nueva imageView desde la punta (opción cmd + 1). Por lo tanto, en el método -viewDidLoad
de su viewController apropiado, configure la imagen en esta salida de UIImageView.
Al hacerlo, es libre de agregar subvistas a sus instancias de "ahora UIImageView" en el generador de interfaces, lo cual es muy fácil.
Espero que esto ayude . . .
UIImageView
con la ayuda de Interface Bulder. Ahora quiero colocar una etiqueta dentro de ella (como su subvista). En el código puedo escribir algo como: [myUIImageView addSubview:myUILabel];
¿Pero puedo hacerlo con la ayuda de IB? Encontré la solución para UIView
, pero no puedo encontrar algo similar para UIImageView
.
En el último XCode (4.5) hay una opción para arrastrar y soltar los controles requeridos al padre.
Es bastante facil Captura de pantalla adjunta para el mismo. Arrastre la etiqueta / campo de texto y el botón a UIImageView
Me gustaría añadir respuesta.
Aunque apesta, no puede agregar una subvista a UIImageView
, puede obtener el mismo efecto al incorporar UIView
con un fondo transparente (color claro).
Luego coloca el UIImageview
ANTES de ello.
Así que UIView
tiene las subvistas y UIImageview
es el fondo de UIView
.
Creo que esa es la intención de Apple.
Aquí hay una captura de pantalla:
Aquí está el resultado:
No te olvides de configurar el fondo como color claro.
Ahora, si alguien realmente podría indicarme un tutorial sobre cómo hacer esto, será genial. Pasé horas haciéndolo a la manera comprobada. La respuesta marcada es una buena respuesta pero muy poco intuitiva porque no puede ver claramente la imagen de fondo mientras trabaja. Creo que la mía es la forma correcta de hacerlo.
Usa este código:
UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];
(Reemplace background.png con imagen ) (Reemplace atIndex: 0 con cualquier lugar en la raíz .index en el que desea insertar la imagen y desactive).