如何使用IBOutletCollection将多个UIImageView连接到同一个插座?

时间:2013-04-05 14:46:57

标签: ios objective-c xcode uiimageview iboutletcollection

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

我发现有一个解决方案,IBOutletCollection。任何人都可以向我解释如何使用它将多个imageView连接到同一个插座?

1 个答案:

答案 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连接到此属性。

enter image description here enter image description here

现在我只使用imageViews集合

for (UIImageView *imageView in self.imageViews) {
  imageView.image = someImage;
}