UISplitViewController выталкивается из UITabBarController

В моем приложении я хотел бы иметь только одну раскадровку для iPad и iPhone. Мой корневой контроллер — это UITabBarController с 7 дочерними элементами, большинство из них — UISplitViewController.

На iPhone вкладка «Дополнительно» появляется автоматически, чтобы получить доступ ко всем вкладкам, что приводит к их перемещению оттуда, что приводит к ошибке:

Split View Controllers cannot be pushed to a Navigation Controller

Как я могу решить эту проблему?

Большое спасибо!


person lorenzo    schedule 18.09.2015    source источник
comment
Взгляните на это: stackoverflow .com/questions/10021210/ Возможно, это решит вашу проблему.   -  person Dharmesh Siddhpura    schedule 29.09.2015


Ответы (1)


Хорошо, в двух словах, то, что я, наконец, сделал, это создать свои UISplitViewControllers программно, когда устройством пользователя является iPad, сохраняя при этом большую часть моей раскадровки.

сделать это:

  • В IB я удалил все вьюконтроллеры из моего UITabBarController (ссылки)
  • Я дал каждому из этих UIViewController идентификатор раскадровки.
  • В didFinishLaunchingWithOptions AppDelegate я создал метод для построения иерархии моих представлений, используя идентификатор раскадровки для создания экземпляров ViewController и добавляя UISplitViewController при работе на iPad. Все это делается в сочетании с объектом источника данных, который точно настраивает потребности каждого из моих экранов.

Надеюсь, это поможет!

person lorenzo    schedule 29.09.2015