Подтвердить что ты не робот

Как я могу использовать IBOutletCollection для подключения нескольких UIImageView к одной и той же розетке?

У меня есть 10 UIImageViews, которые делают то же самое (у них есть некоторые методы void, которые меняют изображение с помощью таймера). Мой UIImageView - это выход, и я хочу подключить все 10 imageViews к той же розетке, но конструктор интерфейса не позволяет мне.

Я обнаружил, что есть решение, IBOutletCollection. Может ли кто-нибудь объяснить мне, как использовать это для подключения нескольких изображений к той же розетке?

4b9b3361

Ответ 1

Объявить свойство для хранения изображения и затем подключить его в конструкторе интерфейса, как обычно.

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

это просто нормальный NSArray, но когда загружается nib, он будет заполнен вашим

Обновить

В файле заголовка для просмотра контроллера, у которого есть несколько изображений, вам нужно добавить свойство выше - оно может выглядеть примерно так:

@interface MyViewController : UIViewController

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

@end

Теперь в построителе интерфейса вы подключаете все изображение к этому свойству.

enter image description hereenter image description here

Теперь я просто работаю с коллекцией imageViews

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