IOS:用标签值更改UIImageView

我有20 UIImageView,我想改变他们的形象; 但是我不想创build20个IBOutlet,我想用标签值来改变图像; 我在界面生成器中设置标签值,之后? 如果我想在Imageview编号15改变图像? 我能怎么做?

如果你使用标签,你可以识别你的标签视图(UIImageView是具有标签属性的UIView的子类),如下所示:

- (UIView *)viewWithTag:(NSInteger)tag 

所以,如果你在你的超级视图(所有的UIImageView所在的位置)上调用这个方法,你应该这样做:

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

(我使用Googlefind的文档 )。

PS:如果您认为添加20个IBOutlet的工作太多,我build议您也以编程方式创buildUIImageViews。 这样,你根本不需要一个xib文件,只需写一小段代码,就可以更轻松地进行维护。

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

SWIFT,2015年4月:

 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)") }