我的根视图控制器的实现supportedInterfaceOrientations
几乎总是返回UIInterfaceOrientationMaskAll
,但是有一种极端情况会返回UIInterfaceOrientationMaskLandscape
。
如果用户旋转设备,这是可行的。但是,如果设备以纵向模式保持,supportedInterfaceOrientations
则不会调用该方法,除非用户手动旋转设备。
如何以编程方式告诉系统此方法的返回值已更改?
根据文档,似乎我应该可以调用[UIViewController attemptRotationToDeviceOrientation]
但是这没有任何效果(supportedInterfaceOrientations
从不调用并且屏幕不旋转)。
我发现了其他人发布的各种解决方法来尝试解决这个问题,但在我的测试中它们都不起作用。我怀疑他们可能在 iOS 5.0 中工作过,但在 iOS 6.0 中没有。
我正在返回YES
根视图控制器的shouldAutorotate
方法。