Можно ли инициализировать подкласс UINavigationController из NIB? - PullRequest
1 голос
/ 02 февраля 2009

У меня есть приложение на основе UITabBarController. Вкладки будут создаваться из записей базы данных, поэтому я не знаю их заранее. Я хотел бы программно инициализировать UINavigationController подкласс (у меня есть несколько разных видов) для каждой вкладки.

В идеале, мне бы очень хотелось нарисовать весь подкласс UINavigationController + это подвид, используя Interface Builder, так же, как вы можете это сделать, когда добавляете определение вида для каждой вкладки в IB (тогда вы знаете, какие вкладки будут заблаговременно). Я попытался установить «Идентификатор класса» для моего UINavigationController имени подкласса, затем добавить UINavigationController внутри него, но, очевидно, он не внедрил экземпляр на уровне «Владелец файла» ...

Спасибо

1 Ответ

4 голосов
/ 04 февраля 2009

Я не стал подклассом UINavigationController, похоже, это не то, что рекомендуется. Я быстро понял, что разработка UINavigationController внутри IB не принесла особой пользы. Вместо этого я вложил в подкласс UIViewController и написал несколько строк init для UINavigationBar (пользовательские кнопки, пользовательское среднее изображение) в моем viewDidLoad. Просто лучше просто обернуть подкласс [[UINavigationController alloc] initWithRootController: subclass];, когда я программно заполняю свои вкладки. Подклассы UINavigationController прямо помешали мне правильно использовать свойство navigationItem моего представления инъекции.

...