Автоматический поворот с помощью UINavigationController
-
10-07-2019 - |
Вопрос
Мне немного неясно, как поворачивать представления, которые находятся на UINavigationController.
Я переопределил объект UINavigationController одним из моих собственных, который переопределяет:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { возвращает ДА;}
У меня есть одно представление в стеке на контроллере, и это представление загружается из xib с двумя представлениями в нем.Я хочу переключиться с портретной на альбомную.Обычно я бы справился с этим, изменив представление из файлов nib самого представления.Должен ли я реализовать вращательный код в навигационном контроллере или только в моем коде просмотра?
- (void)будет инициализирован первый этап обращения к интерфейсу ориентации:(UIInterfaceOrientation)к интерфейсу ориентации длительность: (NSTimeInterval)длительность
Этот код willAnimate - это то, что я привык использовать в самом представлении, но я все еще не вижу изменения представления, и я думаю, что, возможно, мне нужно получить доступ к представлению в NavigationController и изменить это, или даже переопределить тот же метод в контроллере навигации и выполнить переключение представления там.
Есть какие-нибудь предложения?На самом деле я никогда не делал этого раньше и только что узнал, что TabViewControllers и NavigationControllers по умолчанию работают только в портретном режиме.
Решение
Оказывается, изменить вид было невозможно, потому что я пытался изменить rootView на контроллере навигации.Я обошел это, разместив свой собственный псевдокорневой контроллер просмотра, который никогда не отображается в корневом месте стека навигации.Я переопределил несколько элементов управления навигацией, чтобы учесть это, чтобы функциональность оставалась прежней, и я мог бы изменять желаемое восприятие корневого представления по мере необходимости.
Начало в правильном направлении можно найти по этой ссылке:
http://starterstep.wordpress.com/2009/03/05/changing-a-uinavigationcontroller’s-root-view-контроллер/