我有一个 UINavigationController,它的第一个 ViewController 是一个 UITabBarController,它不应该旋转......然后推 UIViewController 应该旋转......
到目前为止,我已经将 UINavigationController 子类化并实现了这些方法:
- (BOOL) shouldAutorotate {
return [self.visibleViewController shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations {
return [self.visibleViewController supportedInterfaceOrientations];
}
所以它是子控制器选择它是否应该自动旋转......到目前为止,我已经设法阻止 UITabBarController 的旋转并允许推送的 UIViewController 旋转。
唯一的问题是,如果 UIViewController 处于横向模式,当我弹出它时,UITabBarController 也将处于横向模式,直到手机进入纵向模式,它会恢复正常并且不再旋转.. .
我希望当我弹出 Landscape UIViewController 时,UITabBarController 已经处于纵向模式。
这个新的 iOS 6.0 UI 旋转管理似乎很痛苦!