Использовать объекты в общем виде в Nib-файле - PullRequest
2 голосов
/ 17 января 2012

Я создал универсальный файл пера «MyGenericView.xib», владельцем которого (для целей повторного использования) является UIViewController.

В моих классах я могу успешно загрузить представление

[[NSBundle mainBundle] loadNibNamed:@"MyGenericView" owner:self options:nil];

Однако,Я определил метку как подобъект в том же родовом представлении.Как я могу получить к нему доступ и перегрузить (например) label.text?

В обычной ситуации я бы назначил владельца файла моего пера для моего конкретного контроллера и подключил IBOutlet к владельцу файла.Поскольку владельцем файла (в моем общем случае) является UIViewController, это невозможно.

Заранее спасибо

1 Ответ

0 голосов
/ 17 января 2012

В конструкторе интерфейса установите тег метки, скажем, 1. Вы можете найти поле тега в инспекторе атрибутов, раздел «Просмотр». Затем используйте viewWithTag: метод:

// given that the label we seek is in the self.view hierarchy
//if not, change accordingly
UILabel* myLabel = (UILabel*)[self.view viewWithTag:1];

Кроме того, если у вас когда-либо возникала подобная проблема с ячейками таблицы, я рекомендую использовать UINib class . Этот класс отлично подходит, когда вам не нужно делегировать какие-либо действия владельцу файла, вы можете создавать экземпляры своих объектов без какого-либо владельца.

...