我的视图中有8个UIImageView,都在.h
和.m
中声明。
我打电话给他们img01
,img02
,img03
,...,img08
我还有8张照片,名为01.png
,02.png
,03.png
,...,08.png
。
如果我想将第一张imageView
设置为第一张图片,我将使用以下命令:
UIImage *image = [UIImage imageNamed:@"01.png"];
[img01 setImage:image];
如果我有很多 UIImageViews 和 pics 怎么办?
我尝试使用此代码,但无法弄清楚如何执行最后一行代码。
int count = 1;
while (count <= 8) {
NSString *countString = [[NSString alloc]initWithFormat:@"%i", count];
NSString *picname = [NSString stringWithFormat:@"0%@.png", countString];
NSString *imgName = [NSString stringWithFormat:@"img0%@", countString];
UIImage *image = [UIImage imageNamed:picname];
[img01 setImage:image];
count++;
}
代码只会更改第一个imageView。我需要它来更改所有imageViews
。
答案 0 :(得分:1)
创建一个NSMutableArray
,并用UIImageViews填充它。目前您只设置第一个:
[img01 setImage:image];
你可以这样做:
NSMutbaleArray imageViews = [[NSMutableArray alloc] initWithCapacity:8];
for (int i = 0; i < 8; ++i) {
NSString *countString = [NSString stringWithFormat:@"%i", count];
NSString *picname = [NSString stringWithFormat:@"0%@.png", countString];
NSString *imgName = [NSString stringWithFormat:@"img0%@", countString];
UIImage *image = [UIImage imageNamed:picname];
UIImageView * view = [[[UIImageView alloc] init] autorelease];
[view setImage:image];
[imageViews addObject:view];
}