2013-04-05 144 views
29

我有10個UIImageViews做同樣的事情(他們有一些無效的方法,改變他們的形象與計時器)。 我的UIImageView是一個插座,我想將所有10個imageView連接到同一個插座,但界面生成器不允許我。如何使用IBOutletCollection將多個UIImageView連接到同一個插座?

我發現有一個解決方案,IBOutletCollection。任何人都可以向我解釋如何使用它將多個imageViews連接到同一個插座?

回答

78

聲明一個屬性來保存您的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這一個屬性界面生成器。

enter image description here enter image description here

現在我只用imageViews收集

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

工作,但我只有一個ImageView的在我的代碼,這就是我想要的。我想在代碼中將此圖像與故事板視圖中的多個圖像視圖連接起來。 – BalestraPatrick 2013-04-05 15:50:55

+0

您需要創建一個數組來保存對所有這些imageView的引用。做這件事的方法是使用'IBOutletCollection',因爲我上面已經顯示 – 2013-04-05 15:52:46

+0

但是如果只有1張圖片,我需要填充哪些圖片? – BalestraPatrick 2013-04-05 16:08:30