xcode 4设置了很多UIImageView的

时间:2012-04-21 16:23:05

标签: objective-c xcode

我的视图中有8个UIImageView,都在.h.m中声明。

我打电话给他们img01img02img03,...,img08

我还有8张照片,名为01.png02.png03.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

1 个答案:

答案 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];
}