Ios 如何使用IBMoutletCollection将多个UIImageView连接到同一个插座?
我有10个UIImageView,它们做同样的事情(它们有一些无效的方法,可以使用计时器更改它们的图像)。 我的UIImageView是一个插座,我想将所有10个ImageView连接到同一个插座,但interface builder不允许我这样做Ios 如何使用IBMoutletCollection将多个UIImageView连接到同一个插座?,ios,objective-c,xcode,uiimageview,iboutletcollection,Ios,Objective C,Xcode,Uiimageview,Iboutletcollection,我有10个UIImageView,它们做同样的事情(它们有一些无效的方法,可以使用计时器更改它们的图像)。 我的UIImageView是一个插座,我想将所有10个ImageView连接到同一个插座,但interface builder不允许我这样做 我发现有一个解决方案,IBOutletCollection。有人能告诉我如何使用它将多个imageView连接到同一个插座吗?声明一个属性来保存imageView,然后像正常情况一样在interface builder中连接它们 @property
我发现有一个解决方案,IBOutletCollection。有人能告诉我如何使用它将多个imageView连接到同一个插座吗?声明一个属性来保存imageView,然后像正常情况一样在interface builder中连接它们
@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;
}
但是我的代码中只有一个imageView,这就是我想要的。我想在代码中将此图像与序列图像板视图中的多个ImageView连接。您需要创建一个数组来保存对所有这些ImageView的引用。实现这一点的方法是使用
IBOutletCollection
,如上所示,但是如果只有1个图像,我需要填充哪些图像?我真的不知道你的意思是什么?@AndrewCr是的,应该是这样。我们正在声明一个NSArray
,唯一感兴趣的对象是out viewController。您可以对视图使用弱
,因为它们将被其父视图保留。