我有一个UINavigationController,它的第一个ViewController是UITabBarController,它不应该是旋转的……然后按下的UIViewController应该旋转...
到目前为止,我已经将UINavigationController子类化并实现了这些方法:
- (BOOL) shouldAutorotate {
return [self.visibleViewController shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations {
return [self.visibleViewController supportedInterfaceOrientations];
}所以它是子控制器选择它是否应该自动旋转...到目前为止,我已经成功地阻止了UITabBarController的旋转,并允许推送的UIViewController旋转。
唯一的问题是,如果UIViewController处于横向模式,当我打开它时,UITabBarController也将处于横向模式,直到手机被置于纵向模式,它将恢复正常并且不再旋转……
我希望当我弹出横向UIViewController时,UITabBarController已经处于纵向模式。
这个新的iOS 6.0UI旋转管理看起来很痛苦!
发布于 2013-02-13 22:47:05
正如您所说的,设备尚未旋转,因此当旧的视图控制器弹出时,显示的视图控制器不会坚持旋转方向。如果这是您想要的行为,请使用呈现的视图控制器。
您可以通过旋转状态栏来强制界面旋转,但前提是supportedInterfaceOrientations返回0。
https://stackoverflow.com/questions/14820180
复制相似问题