1

我有一个简单的 for 循环,可以更改一组 9 个 UIImageViews 中的图像。但是,我有一个问题,我无法在 for 循环的协调中更改 UIImageView 的名称,因此最终结果是 for 循环仅影响我在 iOS 应用程序中拥有的 9 个 UIImageView 中的 1 个。

这是我的代码:

for (current_photo = 1; current_photo < 10; current_photo++) {
        picview_1.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@%i.png", SERVER_URL, current_photo]];
    }

你会注意到在我的代码中有一点:

picview_1.image

当我替换“picview_current_photo”中的“pic view_1”时,会出现错误。

我究竟做错了什么?请解释。

谢谢你的时间 :)

4

2 回答 2

2

创建一个 s 数组UIImageView,并通过索引在循环中访问它们,如下所示:

NSArray *imageViews = @[picview_1, picview_2, picview_3, picview_4, ..., picview_9];
// Arrays are indexed from zero, so I changed the index to run from 0 to 9
for (current_photo = 0; current_photo < 9; current_photo++) {
    // Since current_photo is zero-based, I added one to it in stringWithFormat
    UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%@%i.png", SERVER_URL, current_photo+1]];
    [[imageViews objectAtIndex:current_photo] setImage:img];
}
于 2013-07-26T16:05:29.550 回答
0

您可能最好设置一组 UIImageViews。然后从该数组中访问您需要的 UIImageView 并根据需要设置图像。

于 2013-07-26T16:05:39.360 回答