Загрузить представление из NIB-файла из нескольких разных UIViewControllers - PullRequest
0 голосов
/ 19 августа 2010

Я успешно загружаю представление из файлов Nib, используя подход, найденный на этом сайте

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

Проблема в том, что, поскольку мы должны установить владельца файла, этот наконечникфайл становится «прикрепленным» к этому контроллеру представления.Это представление является подклассом UITableViewCell, и я хотел загрузить этот nib-файл из нескольких разных vc.Спасибо за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 19 августа 2010

Перо - это просто шаблон , вы можете загружать его снова и снова.

При использовании iOS4 вы, возможно, захотите взглянуть на UINib, который дает улучшенную производительность для повторной загрузки пера.

0 голосов
/ 19 августа 2010

Я представлю две опции:

  • Создайте класс NibLoader с одним @property (nonatomic, retain) IBOutlet id mainObject; и методом с именем loadNibNamed:bundle:).Затем выполните MyView * v = [[NibLoader loadNibNamed:"MyView" bundle:nil] mainObject];.(Ошибка доступа к свойству GCC 4.0 означала, что [...]. MainObject будет вызывать [...] дважды; это было исправлено в 4.2.)
  • Создать @protocol MyNibOwner с @property (nonatomic, retain) IBOutlet MyView * myView; и изменитькласс владельца файла id<MyNibLoader> или NSObject<MyNibLoader>.
0 голосов
/ 19 августа 2010

Педантически, перо, вероятно, должно иметь один контроллер. Вероятно, я бы создал новый подкласс UIViewController, который контролирует содержимое этого пера, а затем всякий раз, когда вы захотите добавить содержимое пера, создайте один из этих контроллеров представления и попросите it материал, вместо того, чтобы загружать перо напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...