UISplitViewController - установить всегда видимый главный контроллер, когда

Я изучил примеры разделенного представления ( как этот), и он прекрасно работает. Мне просто нужно одно изменение поведения. Мне бы хотелось, чтобы мастер и детальный контроллер были видны, когда у пользователя iPad в портретной ориентации. Он должен работать так же, как FB Messenger или Skype. Оба контроллера соседствуют друг с другом и не способны скрыть главный контроллер. Как это возможно сделать? Спасибо за помощь

Бонусный вопрос: можно ли как-то настроить поведение для iPad-портрета так же, как для iPhone-портрета? Если бы я передумал, и я хотел бы иметь детали в полноэкранном режиме, и после нажатия на левую кнопку панели навигации у меня будет основной вид в полноэкранном режиме и без видимых деталей. Возможно ли это, или разделение решает, и я мало что могу с этим поделать?

1 ответ

Решение

UISplitViewController имеет свойство под названием preferredDisplayMode, Вы можете установить это к любому из этих значений:

  1. UISplitViewControllerDisplayModeAutomatic
  2. UISplitViewControllerDisplayModePrimaryHidden
  3. UISplitViewControllerDisplayModePrimaryOverlay
  4. UISplitViewControllerDisplayModeAllVisible

Ты ищешь UISplitViewControllerDisplayModeAllVisible,

[self.splitViewController setPreferredDisplayMode:UISplitViewControllerDisplayModeAllVisible];

UISplitViewControllerDisplayModeAllVisible

Основной и дополнительный контроллеры представления отображаются рядом на экране.

Доступный в iOS 8.0 и позже.

Вы можете прочитать больше о режимах отображения здесь в документации Apple.

Другие вопросы по тегам