31

我有 10 个 UIImageViews 做同样的事情(他们有一些用计时器改变图像的 void 方法)。我的 UIImageView 是一个插座,我想将所有 10 个 imageView 连接到同一个插座,但界面生成器不允许我这样做。

我发现有一个解决方案,IBOutletCollection。谁能向我解释如何使用它将多个 imageViews 连接到同一个插座?

4

1 回答 1

83

声明一个属性来保存你的 imageView,然后像往常一样将它们连接到界面构建器中

@property (nonatomic, strong) IBOutletCollection(UIImageView) NSArray *imageViews;

这只是正常的NSArray,但是当笔尖被加载时,它将被你的 imageView 填充


更新

在您查看具有多个 imageView 的控制器的头文件中,您需要添加上面的属性 - 它可能看起来像这样:

@interface MyViewController : UIViewController

@property (nonatomic, strong) IBOutletCollection(UIImageView) NSArray *imageViews;
// other properties

@end

现在在界面构建器中,您将所有 imageView 连接到这一属性。

在此处输入图像描述 在此处输入图像描述

现在我只处理imageViews收藏

for (UIImageView *imageView in self.imageViews) {
  imageView.image = someImage;
}
于 2013-04-05T15:45:08.103 回答