У меня есть приложение для iPhone, которое я обновляю до iOS 6, у которого есть проблемы с ротацией. У меня есть UITabBarController
с 16 UINavigationCotrollers
. Большинство подзонов могут работать в портретной или альбомной ориентации, но некоторые из них - только портрет. С iOS 6 вещи вращаются, когда они не должны.
Я попытался подклассифицировать tabBarController, чтобы вернуть supportedInterfaceOrienations
текущего выбранного ControlController navigationController:
- (NSUInteger)supportedInterfaceOrientations{
UINavigationController *navController = (UINavigationController *)self.selectedViewController;
return [navController.visibleViewController supportedInterfaceOrientations];
}
Это приблизило меня. Контроллер просмотра не будет вращаться вне позиции, когда он будет видимым, но если я нахожусь в альбомной ориентации и переключаю вкладки, новая вкладка будет в ландшафте, даже если она не поддерживается.
В идеале приложение будет находиться только в поддерживаемой ориентации текущего видимого контроллера. Любые идеи?