同じことを行う10個のUIImageViewがあります(タイマーで画像を変更するいくつかのvoidメソッドがあります)。私のUIImageViewはアウトレットなので、10個すべてのimageViewを同じアウトレットに接続したいのですが、インターフェイスビルダーでは許可されません。
IBOutletCollectionというソリューションがあることがわかりました。誰も私にこれを使用して複数のimageViewsを同じコンセントに接続する方法を説明できますか?
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をこの1つのプロパティに接続します。
今、私はimageViews
コレクションで作業しています
for (UIImageView *imageView in self.imageViews) {
imageView.image = someImage;
}