Нажмите UIViewController с другой ориентацией на предыдущий

Наверное, простой вопрос, но:

Мое приложение запускается (и в основном) в портретном режиме, но у меня есть ViewController, который мне нужно поместить в стек, который нужно открыть в ландшафтном режиме.

Я поискал и обнаружил, что вы не можете использовать частный API: [[UIDevice currentDevice] setOrientation: UIInterfaceOrientationLandscapeLeft];

Я также нашел множество «предлагаемых» способов решения этой проблемы (включая модальное представление вместо нажатия и отправку двух экземпляров ViewController) Переход к горизонтальному вращению в uinavigationcontroller

Однако я уверен, что должен быть более простой способ решить эту проблему. Если кто-то знает способ PUSH в стек (чтобы сохранить навигацию по дереву) таким образом, чтобы контроллер представления отображался в альбомной ориентации, сообщите мне.

Спасибо за вашу помощь, ребята,

Dunc


person theDuncs    schedule 14.07.2011    source источник
comment
Почему вы уверены, что должен быть более простой способ? Ответ Cannyboy на этот вопрос мне кажется довольно простым.   -  person Rog    schedule 14.07.2011
comment
Спасибо Роджеру. Вы правы, Cannyboy's действительно работает (я пробовал его до того, как написал этот пост), и я, вероятно, в конечном итоге им воспользуюсь. НО это означает, что строка состояния скрыта от этого контроллера просмотра. Есть предложения, как я могу его сохранить?   -  person theDuncs    schedule 14.07.2011


Ответы (1)


Нет смысла использовать UINavigationController push-переход для представления представления в другой ориентации. В каком направлении будет находиться панель навигации / панель инструментов?

Правильный способ сделать это - представить контроллер модального представления. Если в результате строка состояния становится скрытой, убедитесь, что yourModalViewController.wantsFullScreenLayout = NO.

person hatfinch    schedule 14.07.2011