Pregunta

yo creé UIImageView con la ayuda de la interfaz Bulder. Ahora quiero colocar la etiqueta dentro de ella (como su subvisión). En 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.

¿Fue útil?

Solución

¡No puede agregar una subvisión a UIIMageView en Interface Builder por razones que solo conocen Apple! Tiene razón al decir que puede addsubView mediante programación, pero luego, la sobrecarga de configurar las máscaras de autoresización y las ubicaciones de las subvistas debe manejarse en el código, lo cual es engorroso.

Entonces hay una solución fácil. En lugar de arrastrar una instancia de UIIMageView en la NIB, simplemente arrastre una vista UIView y cambie su clase a UIIMAGEVIEW desde UIView (opción CMD+4 del Inspector). La única diferencia que encuentra en la instancia NIB para ImageView predeterminada y su nueva instancia de subclase UIIMageView es: no puede configurar la imagen en su nueva imagen de ImageView de NIB (opción CMD+1). Entonces, en el -viewDidLoad Método de su ViewController apropiado, configure la imagen en esta salida de UIIMageView.

Al hacerlo, puede agregar subvistas a sus instancias "ahora UiImageView" en Interface Builder, lo cual es mucho fácil.

Espero que esto ayude . . .

Otros consejos

Me gustaría agregar respuesta.

Mientras apesta no puede agregar subvisión a UIImageView, puedes obtener el mismo efecto incorporando UIView con fondo transparente (color claro).

Entonces pon el UIImageview Antes de eso.

Entonces el UIView tiene las subvisiones y el UIImageview es el fondo del UIView.

Creo que esa es la intención de Apple.

Aquí hay una captura de pantalla:

enter image description here

Aquí está el resultado:

enter image description here

No olvides establecer fondo como color claro

enter image description here

Ahora, si alguien realmente pudiera señalarme un tutorial cómo hacer esto, será genial. Pasé horas haciéndolo por la forma revisada. La respuesta verificada es una buena respuesta pero muy poco intuitiva porque no puede ver su imagen de fondo claramente mientras trabaja. Creo que la mía es la forma correcta de hacerlo.

En el último Xcode (4.5) hay una opción para arrastrar y soltar los controles requeridos al padre.

Es bastante fácil. Pantalla de pantalla adjunta para lo mismo. Arrastré la etiqueta/textfield y el botón a uiImageViewenter image description here

Use este código:

UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];

(reemplazar fondo.png con imagen) (reemplazar atindex: 0 Con cualquier lugar en la raíz .dex, desea insertar la imagen y su apagado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top