Добавление контроллера панели вкладок в корневое представление UISplitViewController? - PullRequest
3 голосов
/ 06 апреля 2011

Как бы установить UITabBarController со всеми его отдельными контроллерами представления в качестве корневого представления в разделенном представлении? Похоже, что IB не позволяет мне изменить класс контроллера корневого представления на что-либо еще ... Я использую Xcode 4.

Ответы [ 3 ]

2 голосов
/ 06 апреля 2011

Вы хотите добавить tabbarcontroller к вашему разделенному представлению на стороне root и это очень просто. создайте столько подклассов viewcontrollers с xib для ipad, сколько вы хотите добавить в tabbarcontroller.

  • Затем разверните ваш splitview, у вас есть две вещи: навигационный контроллер (который в свою очередь содержит контроллер rootview), контроллер подробного просмотра (вид справа).
  • Откройте вашу библиотеку, просто перетащите контроллер панели вкладок прямо на navigationcontroller, чтобы он заменил весь этот контроллер навигации и rootviewcontroller (я предполагаю, что вам не нужен этот контроллер rootview или вы можете создать его позже).
  • теперь разверните этот контроллер панели вкладок, вы можете увидеть viewcontroller 1 - viewcontroller 2 и т. Д.
  • Теперь просто выберите просмотр контроллера 1, откройте атрибуты и выберите файл пера в [атрибуте команды 1] и выберите файл контроллера для этого файла пера, нажав [атрибут команды 4].
  • Повторите это для просмотра контроллера 2 в tabbarcontroller и сохраните закрытый IB. Запустите программу выбора ландшафта, и вы увидите, что все сделано.
2 голосов
/ 08 апреля 2011

Благодаря dh14-sl и lecou - решение было комбинацией обоих ваших ответов. Я пытался перетащить контроллер панели вкладок из библиотеки в список элементов, но он не работал - оказывается, мне пришлось перетащить его в само представление. Тогда мне пришлось изменить родительский класс моего rootvc и переустановить соединения, но теперь это похоже на работу! Спасибо, ребята!

2 голосов
/ 06 апреля 2011

Используете ли вы опцию приложения на основе разделения вида?В этом случае у меня получилось просто расширить: UITabBarController в файле RootViewController.h.Я не уверен, какое поведение вы хотите здесь, но если вы настроите его таким образом, вы должны получить панель вкладок со всеми вашими представлениями (вы должны добавить их в RootViewController.m ofc) в опции «root» напанель навигации.

Если вы хотите, чтобы DetailView показывал то же самое, вы должны также добавить навигационный контроллер к подробному виду.

Что касается "более элегантного" решения с IB, ябоюсь, я не очень люблю и не очень разбираюсь в IB.

...