我有10个UIImageViews做同样的事情(他们有一些用计时器改变图像的void方法)。 我的UIImageView是一个插座,我想将所有10个imageView连接到同一个插座,但界面构建器不允许我。
我发现有一个解决方案,IBOutletCollection。任何人都可以向我解释如何使用它将多个imageView连接到同一个插座?
答案 0 :(得分:79)
声明一个属性来保存你的imageView,然后像普通的
一样在界面构建器中将它们连接起来@property (nonatomic, strong) IBOutletCollection(UIImageView) NSArray *imageViews;
它只是一个普通的NSArray
但是当加载nib时,它将填充你的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;
}