Что такое Ссылка на коллекцию розеток в Xcode4 Interface Builder?

введите здесь описание изображения

Здесь я указал на файл Referencing Outlet Collection. Я не могу понять его использование в XCode4.

Я прошу «новую функцию REFERENCING OUTLET COLLECTION в InterfaceBuilder XCode4».


person Sagar R. Kothari    schedule 11.07.2011    source источник


Ответы (3)


IBOutletCollection — это способ сгруппировать IBOutlets. Представьте, что у вас есть 3 или 4 UILabels, к которым вы будете применять стиль (шрифт, цвет фона, непрозрачность и т.д.). С IBOutletCollection сделать это становится тривиально. Сначала вам нужно определить свой IBOutletCollection:

@property (nonatomic, retain) IBOutletCollection(UILabel) NSArray *labelsCollection;

(обратите внимание на тип, который мы помещаем в круглые скобки, хотя мы могли бы поставить id, если бы у нас была коллекция миксов)

Подключите IBoutlets к Interface Builder, а затем просто повторите его:

for(UILabel *label in labelsCollection)
{
    // Apply your styles
}

Надеюсь, это поможет вам понять:

http://useyourloaf.com/blog/2011/3/28/interface-builder-outlet-collections.html

person Rui Peres    schedule 11.07.2011

Я только что взламывал XIB.

Вы можете увидеть коллекцию Outlet в использовании здесь:

Элемент управления может иметь несколько распознавателей жестов, которые хранятся в:

UITouch 
@property(nonatomic,readonly,copy) NSArray *gestureRecognizers

Открыть ИБ

Перетащите UITextView в представление IB.

Перетащите Распознаватель жестов Pinch в текстовое представление.

Нажмите на каждый в дереве объектов и откройте Инспектор подключений.

вы увидите, что добавлена ​​коллекция, а не отдельная торговая точка.

OUTLET COLLECTIONS

gestureRecognizers ------> Pinch Gesture
person brian.clear    schedule 10.05.2012

Используя XCode Interface Builder, создайте/подключите свои IBOutlets к коллекции IBOutlet. В результате вы получите следующий код в файле .h:

@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *labels;

В файле .m вы можете выполнить итерацию с помощью цикла for, чтобы получить желаемые функции, такие как размер или цвет шрифта:

for (UILabel *label in self.labels) {
        label.font = [UIFont systemFontOfSize:14];
        label.textColor=[UIColor blueColor];
}

or

@synthesize labels;
...
for (UILabel *label in labels) {
        label.font = [UIFont systemFontOfSize:14];
        label.textColor=[UIColor blueColor];
}
person Darius Miliauskas    schedule 11.11.2014