我怎样才能以编程方式改变UIImageView中显示的图像?

我有一个IBOutlet'到一个UIImageView',但是当我看UIImageView'文档时,我看不到任何关于以编程方式改变它的提示。我必须从那个UIImageView'中获取一个`UIImage'对象吗?

如果你已经有一个通往UIImageView的IBOutlet,那么你所要做的就是抓取一张图片并在接收器(UIImageView)上调用setImage。下面是两个抓取图片的例子。一个来自网络,另一个是在Xcode中添加到你的资源文件夹。

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

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

一旦你有了一个图像,你就可以设置UIImageView。

[imageView setImage:image];

上面这一行假设imageView是你的IBOutlet。

就这样吧!如果你想变得更花哨,你可以将图像添加到一个UIView中,然后再添加过渡效果。

P.S. 不包括内存管理。

评论(5)

这对我来说很有效

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

请确保ImageView在.h文件中被正确声明,并与IB元素链接。

评论(0)

按照Jordan的建议(实际上应该是可行的),尝试将UIImageView设置为可见。

 [imageView setHidden: NO];

还有--别忘了把它附加到主UIView上。

[mainView addSubview: imageView];

并把它带到前面来。

[mainView bringSubviewToFront: imageView];

希望结合所有这些步骤能帮助你解开这个谜团。

评论(0)