У меня есть приложение с UITabBarController, к каждой вкладке прикреплен UINavigationController. Теперь давайте предположим, что rootViewControllers (из navigationControllers) на вкладках 1, 2 и 4 поддерживают только книжную ориентацию и имеют такую реализацию «shouldAutorotateToInterfaceOrientation», которая возвращает YES только при запросе поворота в книжную ориентацию. Однако на вкладке 3 есть некоторые viewControllers в своем навигационном контроллере, которые поддерживают альбомную ориентацию.
Когда я сейчас нахожусь на вкладке 3 и перехожу к одному из контроллеров view, которые поддерживают альбомную ориентацию, я могу повернуть устройство, и интерфейс изменится на альбомную. Тем не менее, если я нажму на вкладке 1, 2 или 4 с интерфейсом в альбомном режиме, интерфейс не будет изменен на портретный, а останется в горизонтальном, несмотря на тот факт, что отображаемые контроллеры представления явно поддерживают только книжный.
Я не уверен относительно того, что мне не хватает, или является ли это предполагаемым поведением, я хотел бы, чтобы ориентация интерфейса переключалась обратно в портретную, как только я переключаюсь на viewController только для портрета через tabBarController. Вся иерархия построена программно.
Спасибо!