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