在UINavigationController中只有一些viewController的ios 6.0旋转?

时间:2013-02-11 20:22:35

标签: ios ios6 autorotate

我有一个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轮换管理似乎很痛苦!

1 个答案:

答案 0 :(得分:0)

正如您所说,设备尚未旋转,因此显示的视图控制器在弹出旧视图控制器时不会坚持旋转方向。如果这是您想要的行为,请使用呈现的视图控制器。

您可以通过旋转状态栏强制界面旋转,但仅当supportedInterfaceOrientations返回0时才会强制显示。