我有一个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轮换管理似乎很痛苦!
答案 0 :(得分:0)
正如您所说,设备尚未旋转,因此显示的视图控制器在弹出旧视图控制器时不会坚持旋转方向。如果这是您想要的行为,请使用呈现的视图控制器。
您可以通过旋转状态栏强制界面旋转,但仅当supportedInterfaceOrientations
返回0时才会强制显示。