iPad сплит контроллер, который не скрывает левую панель в портретной - PullRequest
1 голос
/ 01 мая 2010

Я пытаюсь реализовать контроллер разделения представления, такой как UISplitViewController, на iPad, но я не хочу, чтобы левая панель была скрыта, когда устройство находится в портретной ориентации.

Итак, я создал подкласс UIViewController для этого в IB, и он прекрасно работает без каких-либо контроллеров подвидов. Теперь я пытаюсь обдумать, что требуется для настройки и управления двумя объектами UIViewController для левой и правой панелей. В моем приложении они оба будут UINavigationController с UITableView в них.

Я наткнулся на умственный путь к тому, как это настроить, и надеялся, что кто-нибудь может указать мне на пример кода или дать мне рекомендацию по архитектуре здесь ...

Ответы [ 3 ]

3 голосов
/ 01 мая 2010

Единственная причина использования контроллера UISplitView - это логика «показать / скрыть», которую он получает бесплатно. Я думаю, что гораздо проще просто взять два контроллера вида (Root View и Detail View) и поместить их в стандартный UIViewController. После этого вы можете управлять ими более неадекватно, не нарушая предполагаемого поведения реализованного контроллера.

Приложение настроек на iPad делает то, что вы ищете, и я верю, что это подход, который использует приложение.

Удачи!

2 голосов
/ 29 июля 2011

setHidesMasterViewInPortrait все еще является частным API, и приложение будет отклонено?

1 голос
/ 30 мая 2010

Создайте свой экземпляр UISplitViewController и затем вызовите:

 [splitViewController setHidesMasterViewInPortrait:NO];

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

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