2011-04-29 10 views
10

Tengo 20 UIImageView y quiero cambiar su imagen; pero no quiero crear 20 IBOutlet, y quiero usar el valor de etiqueta para cambiar la imagen; Establecí el valor de la etiqueta en el constructor de interfaz y después? Si quiero cambiar la imagen en Imageview número 15? ¿Como lo puedo hacer?IOS: cambiar UIImageView con valor de etiqueta

Respuesta

10

Si usa etiquetas que pueda identificar su punto de vista etiquetado (UIImageView es una subclase de UIView, que tiene el atributo de etiqueta) de esta manera:

- (UIView *)viewWithTag:(NSInteger)tag 

lo tanto, si se llama a este método en su supervista (que todo los UIImageViews residen en), debe hacerlo de esta manera:

UIImageView *myImageView = (UIImageView *)[myAwesomeSuperview viewWithTag:15]; 

(Documentation he encontrado a través de Google).

P.S: si crees que es demasiado trabajo agregar 20 IBOutlets, te recomiendo que también crees el UIImageViews programáticamente. De esta forma, no necesitará un archivo xib, escriba un pequeño código y tenga un mejor mantenimiento con menos esfuerzo.

+2

Es posible que desee escribir echarlo ya viewWithTag vuelve UIView..UIImageView * myImageView = (UIImageView *) [myAwesomeSuperview viewWithTag: 15]; – Krishnabhadra

+0

@Krishnabhadra estás en lo correcto, actualizaste mi respuesta. – Jake

+0

gracias :) ayudó – veereev

17
UIImageView *imageView=(UIImageView *)[self.view viewWithTag:*givetag*]; 
[imageView setImage:[UIImage imageNamed:@"nameof yourimage"]]; 
2

SWIFT, abril de 2015:

func createUIImageViews() 
{ 
    for i in 0...99 
    { 
     var imageView:UIImageView = UIImageView(frame: CGRectMake(CGFloat(0), CGFloat(0), CGFloat(100), CGFloat(100))) 
     imageView.userInteractionEnabled = true 
     imageView.tag = i 
     imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: "onImageViewTap:")) 

     self.view.addSubview(imageView) 
    } 
} 



func onImageViewTap(sender:UITapGestureRecognizer) 
{ 
    println("TAP: \(sender.view!.tag)") 
} 
Cuestiones relacionadas