Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c IOS:使用标记值更改UIImageView_Objective C_Xcode_Ios_Tags_Uiimageview - Fatal编程技术网

Objective c IOS:使用标记值更改UIImageView

Objective c IOS:使用标记值更改UIImageView,objective-c,xcode,ios,tags,uiimageview,Objective C,Xcode,Ios,Tags,Uiimageview,我有20个UIImageView,我想更改它们的图像;但我不想创建20个IBOutlet,我想使用标记值来更改图像;我在interface builder和之后设置了标记值?如果我想更改Imageview 15号的图像?我该怎么做?如果使用标记,您可以识别标记视图(UIImageView是UIView的子类,具有标记属性),如下所示: - (UIView *)viewWithTag:(NSInteger)tag UIImageView *myImageView = (UIImageView *

我有20个UIImageView,我想更改它们的图像;但我不想创建20个IBOutlet,我想使用标记值来更改图像;我在interface builder和之后设置了标记值?如果我想更改Imageview 15号的图像?我该怎么做?

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

- (UIView *)viewWithTag:(NSInteger)tag
UIImageView *myImageView = (UIImageView *)[myAwesomeSuperview viewWithTag:15];
因此,如果在superview(所有UIImageView都位于其中)上调用此方法,则应如下所示:

- (UIView *)viewWithTag:(NSInteger)tag
UIImageView *myImageView = (UIImageView *)[myAwesomeSuperview viewWithTag:15];
(我用谷歌找到的)

附言:如果您认为添加20个iboutlet太麻烦,我建议您也以编程方式创建uiImageView。这样,您就根本不需要xib文件,只需编写一小段代码,就可以轻松地进行更好的维护。

SWIFT,2015年4月:

UIImageView *imageView=(UIImageView *)[self.view viewWithTag:*givetag*];
[imageView setImage:[UIImage imageNamed:@"nameof yourimage"]];
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)")
}

由于viewWithTag返回UIView..UIImageView myImageView=(UIImageView)[myAwesomeSuperview viewWithTag:15],因此可能需要键入cast;