我正在开发带有情节提要的 iOS6 应用程序,但遇到了意外的行为。我的应用程序几乎处于纵向模式,我将在除两个视图之外的所有视图中保持此方向。因此,该项目同时支持横向和纵向模式,我将导航控制器子类化为一个类别(几乎无处不在 :-)在 Appdelegate.m 和每个视图控制器实现
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait; (landscape where needed)
}
和
-(BOOL)shouldAutorotate{
return YES;
}
一切似乎都运行良好,除了在横向视图到纵向视图之间的过渡(反之亦然?),ui的所有元素都以横向显示(想象你保持手机水平),如果你转动手机,旋转事件被触发,用户界面返回纵向,现在才锁定到这个方向。有没有办法在视图出现之前触发旋转?为什么在 ViewWillAppear 阶段不调用 shouldAutorotate ?
谢谢!