我正在为iOS 5开发应用程序,我有一个控制器需要以竖屏视图推送。从横向模式推送控制器相当棘手,但最终我找到了如何做到这一点的方法。我通过presentModalViewController
或pushViewController
来显示控制器,在控制器内部我重写了preferredInterfaceOrientationForPresentation
方法。
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
它可以正常工作,但有一个问题。以下是情况:
- 用户将设备保持横屏模式并且当前控制器在横屏模式下正确显示。
- 用户执行某些操作,然后出现了仅限竖屏的控制器(作为模态控制器和以纵向模式)。
- 用户关闭模态控制器。
- 之前在横屏下工作的控制器现在变成了竖屏,但用户仍然保持设备处于横屏状态 ---> 这就是问题所在。
[UIViewController attemptRotationToDeviceOrientation]
来修复它,但没有帮助。提前感谢任何帮助。