Apple Interface Builder: agregar subvista a UIImageView

UIImageView con la ayuda de Interface Bulder. Ahora quiero colocar la 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 .

¡No puede agregar una subvista a UIImageView en el constructor de interfaces por razones que solo conoce Apple! Tiene razón al decir que puede agregar la Subvista programáticamente, pero luego, la sobrecarga de configuración de las máscaras de realineamiento y las ubicaciones de las subvistas debe manejarse en código, lo cual es engorroso.

Entonces hay una solución fácil. En lugar de arrastrar una instancia de UIImageView en la punta, simplemente arrastre una UIView y cambie su clase a UIImageView desde UIView (cmd + 4 opción de inspector). La única diferencia que encuentra en la punta de la instancia predeterminada de imageView y su nueva instancia de la subclase UIImageView es: no puede establecer la imagen en su nueva imageView from nib (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, puedes añadir subvistas a tus instancias “now UIImageView” en el constructor de interfaces, lo cual es mucho más fácil.

Espero que esto ayude . . .

Me gustaría agregar una respuesta.

Aunque apesta, no puedes agregar una subvista a UIImageView , puedes obtener el mismo efecto al incorporar UIView con fondo transparente (color claro).

A continuación, coloque el UIImageview ANTES.

Entonces 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:

enter image description here

Aquí está el resultado:

enter image description here

No olvides establecer el fondo como color claro

enter image description here

Ahora bien, si alguien pudiera dirigirme a un tutorial sobre cómo hacerlo, será genial. Pasé horas haciéndolo de manera comprobada. La respuesta revisada es una buena respuesta pero muy poco intuitiva porque no puedes ver tu imagen de fondo claramente mientras trabajas. 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. Captura de pantalla adjunta para el mismo. Arrastré Label / TextField y el botón a UIImageView enter image description here

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 la imagen ) (reemplace atIndex: 0 con el lugar en la raíz del índice en el que desea insertar la imagen y su apagado).