Контроллер навигации и автоповорот UIN

Я использую UINavigationController для отправки и вывода представлений. Панель навигации скрыта.

У меня есть RootViewController, который настроен на автоповорот. Он отлично работает, когда виден. Еще у меня есть GalleryViewController. Он отключил автоповорот, просто вернув no.


Моя проблема в том, что когда GalleryViewController находится в стеке навигации, RootViewController перестает отвечать на события автоповорота.


Если я нахожусь в портретной ориентации, и я поворачиваю устройство (при просмотре GalleryViewController), а затем нажимаю кнопку «Назад», он выталкивает GalleryViewController из стека и открывает RootViewController, но RootViewController не изменил поворот, как должен.

Я воткнул в метод -viewWillAppear и проверил статус ориентации UIDevice. Это дает мне правильную ориентацию устройства.

Кстати, я также попытался включить автоповорот в GalleryViewController. Затем он правильно поворачивает представление, но по-прежнему не вращает RootViewController.


Кажется, что при использовании контроллера навигации вращается только вершина стека.


ВОПРОС: Поскольку устройство знает, что оно вращается правильно при вызове -viewWillAppear, могу ли я как-то заставить его обновить ??

-отметка


person Mark A.    schedule 04.06.2010    source источник


Ответы (1)


вместо того, чтобы возвращать только ДА, верните (interfaceOrientaion == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeLeft || и так далее ...) в RootViewController.

в GalleryViewController возвращает только одну ориентацию, которая, на наш взгляд, является ориентацией по умолчанию.

Когда это будет сделано - все должно работать так, как вы этого хотите.

person Stas Zhukovskiy    schedule 21.10.2011