gpt4 book ai didi

objective-c - 在for循环中访问多个UIImageView

转载 作者:行者123 更新时间:2023-11-29 04:38:20 25 4
gpt4 key购买 nike

我在一个UIView中有5个UIImageView,我将UIImageView命名如下:

@property (retain, nonatomic) IBOutlet UIImageView *imgPic1;
@property (retain, nonatomic) IBOutlet UIImageView *imgPic2;
@property (retain, nonatomic) IBOutlet UIImageView *imgPic3;
@property (retain, nonatomic) IBOutlet UIImageView *imgPic4;
@property (retain, nonatomic) IBOutlet UIImageView *imgPic5;

假设所有 UIImageView 都填充了图像,并且用户可以在运行时删除任何 UIImageView,我想知道如何实现以下场景?

我想要一个智能循环,这样如果用户删除 imgPic3imgPic4 图像将移动到 imgPic3imgPic5 将移动到 imgPic4imgPic5 赋值为 nil

imgPic3.img = imgPic4.img;
imgPic4.img = imgPic5.img;
imgPic5.img = nil;

如果每个 UIImageView 被删除,我可以对 5 个逻辑场景进行硬编码,但我想以智能的方式做到这一点,这样即使我有 100 个 UIImageView 也能工作。

最佳答案

使用NSMutableArray包含 5 UIImageView指针。然后当 ImageView x 被删除时,执行以下操作:

for (int i = imgViewNumber; i < [myImageViewArray count]-1; i++) {
[[myImageViewArray objectAtIndex:i] setImage:[[myImageViewArray objectAtIndex:i+1] image]];
}
[[myImageViewArray lastObject] setImage:nil];

编辑:
添加您的UIImageView s 到数组:

  1. 不要将每一个都定义为属性或 iVar - 只为数组定义一个保留属性。
  2. 使用 for (int i = 0; i < numImageViews; i++)循环添加所有 ImageView ,同时调用 addSubview: ,调用[myImageViewArray addObject:imageView] .
  3. 然后,如果您想为特定 ImageView 设置图像,请调用 [[myImageViewArray objectAtIndex:imageViewNumber] setImage:image] (请记住,对于 ImageView 1,imageViewNumber 应为 0)

希望现在已经清楚了

关于objective-c - 在for循环中访问多个UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com