¿Cómo puedo cambiar la imagen mostrada en un UIImageView mediante programación?

Tengo un IBOutlet a un UIImageView, pero cuando miro el documento UIImageView, no puedo ver ninguna pista sobre cómo cambiarlo mediante programación. ¿Tengo que obtener un objeto UIImage de ese UIImageView?

Si ya tienes un IBOutlet a un UIImageView, entonces todo lo que tienes que hacer es tomar una imagen y llamar a setImage en el receptor (UIImageView). A continuación se muestran dos ejemplos de cómo tomar una imagen. Uno de la Web, y uno que se añade a su carpeta de recursos en Xcode.

UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]];

o

UIImage *image = [UIImage imageNamed: @"cell.png"];

Una vez que tenga una imagen, puede establecer UIImageView:

[imageView setImage:image];

La línea anterior asume que imageView es su IBOutlet.

Eso es todo. Si quieres ponerte elegante puedes añadir la imagen a un UIView y luego añadir transiciones.

P.D. La gestión de la memoria no está incluida.

Comentarios (5)

Esto me ha funcionado

[ImageViewName setImage:[UIImage imageNamed: @"ImageName.png"]];

Asegúrese de que el ImageView se declara correctamente en el archivo .h y se vincula con el elemento IB.

Comentarios (0)

Siguiendo el consejo de Jordan (que en realidad debería funcionar), intenta configurar el UIImageView para que sea visible:

 [imageView setHidden: NO];

y también - no se olvide de adjuntarlo a la UIView principal:

[mainView addSubview: imageView];

y llevar al frente:

[mainView bringSubviewToFront: imageView];

Espero que la combinación de todos estos pasos te ayude a resolver el misterio.

Comentarios (0)