2013-04-05 11 views
29

Ho 10 UIImageViews che fanno la stessa cosa (hanno alcuni metodi di annullamento che modificano l'immagine con un timer). Il mio UIImageView è una presa e voglio collegare tutte e 10 le immagini alla stessa presa, ma il costruttore di interfacce non mi consente.Come posso utilizzare IBOutletCollection per connettere più UIImageViews alla stessa presa?

Ho scoperto che esiste una soluzione, IBOutletCollection. Qualcuno può spiegarmi come usarlo per connettere più immagini alla stessa presa?

risposta

78

Dichiarare una proprietà per tenere il vostro ImageView di e poi collegare in Interface Builder come normale

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

è solo un normale NSArray, ma quando viene caricato il pennino sarà popolato con il vostro IMAGEVIEW


Aggiornamento

Nel file di intestazione per voi view Controller che ha le ImageView più di su è necessario aggiungere la proprietà di cui sopra - può essere simile a questa:

@interface MyViewController : UIViewController 

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

@end 

Ora, nel costruttore di interfaccia si collega tutto l'ImageView del a questa proprietà.

enter image description here enter image description here

Ora devo solo lavorare con la collezione

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

imageViews ma ho solo un IMAGEVIEW nel mio codice e questo è quello che voglio. Voglio collegare questa immagine in codice con più immagini nella vista nello storyboard. – BalestraPatrick

+0

È necessario creare una matrice per contenere un riferimento a tutte queste immagini. Il modo per farlo è con un 'IBOutletCollection' come ho mostrato sopra –

+0

Ma quali immagini devo popolarlo se ho solo 1 immagine? – BalestraPatrick

Problemi correlati