2009-04-01 18 views
5

tengo este código:¿Cómo puedo hacer que UIImageView cambie su imagen mediante programación?

- (void)viewDidLoad { 
[super viewDidLoad]; 
landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
} 

En primer lugar, he creado un UIImageView con IBOutlet. El paisaje apunta a eso UIImageView. En InterfaceBuilder, le dije que mostrara una imagen específica en ese UIImageView. Nunca cambia Siempre veo la imagen que especifiqué en InterfaceBuilder. Pero quiero configurarlo programáticamente. ¿Cómo puedo hacer esto?

+0

Asegúrese de que la salida está conectada en IB – nduplessis

+0

ver esta ----- http://stackoverflow.com/questions/3321374/cocoa -touch-adding-a-uiimageview-programmatically –

Respuesta

1

es posible que no haya un conjunto de vista personalizada para ese archivo de punta? Yo tuve el mismo problema. Creé una subclase de UIview para ese controlador de vista, ingresé en Interface Builder y configuré la vista para esa subclase UIView y luego agregué un encabezado de importación para UIView en la clase Controller. eso es lo que hizo por mí

4

Trate de llamar setNeedsDisplay en la vista después de cambiar la imagen:

[landscape setNeedsDisplay]; 
+0

No debería haber ninguna necesidad de llamar a setNeedsDisplay – nduplessis

+0

Yo tampoco lo creía, pero estaba viendo un código que tenía que estaba haciendo exactamente lo mismo, y estaba llamando a setNeedsDisplay, probablemente innecesario, pero estaba lanzándolo. –

2

añadir este código, podría ayudarle a:

-(void)viewDidAppear:(BOOL)animated 
{ 
landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
} 
1

No se olvide de la conexión entre la vista de la imagen y el propietario del archivo en InterfaceBuilder.

es sólo lo que necesita después de eso:

landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
Cuestiones relacionadas