我正在代码中创建一个UIImageView,我希望以后能够得到它并设置一个图像。我该怎么做才能帮忙?
for (int x = 1; x <= 5; x++) {
UIImageView *Game_ImageViews = [[UIImageView alloc]
initWithFrame:CGRectMake(0, 0, 100, 100)];
Game_ImageViews.tag = x;
[Game_View addSubview:Game_ImageViews];
}
UIImage *image = [[UIImage alloc] initWithContentsOfFile:[[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:@"Test.png"]];
(UIImageView*)[self.view viewWithTag:100].image = image;
[image release];
答案 0 :(得分:0)
viewWithTag
将为您提供带标记的视图。例如,您的self.view
必须有一个标记为100的子视图。
最初,您要设置Game_View
的子视图,标记为1,2,3,4,5。
因此,要按标记检索子视图,您必须这样做,假设您要检索由标识1
标记的视图:
((UIImageView*)[Game_View viewWithTag:1]).image = image;
还有一些值得一提的事情。你没有在上面的循环中释放Game_ImageViews
,所以这会导致内存泄漏。
此外,如果您使用imageNamed
的{{1}}方法,那么这将为您带来一些好处。首先,您将拥有一个可以提高性能的缓存图像。其次,你将有一个自动释放的对象,这可以节省你自己释放它的麻烦。当然,除非你像上面那样想要获得最大的性能和控制力。