iOS 6 中对自动旋转的更改似乎使这变得异常困难或不可能。他们似乎在推动子视图控制器不应该覆盖其父视图控制器的自动旋转行为的理念。这使得我很难完成我想做的事情:
- 我有一个必须显示纵向的视图控制器。
- 它以模态方式推动另一个视图控制器,它是一个简单的图像查看器,但我希望这个视图控制器能够旋转到任何纵向或横向(原因很明显)
- 当子视图控制器被解除(不管其当前方向如何)时,父视图控制器应保持纵向
UIViewController 类参考中的相关 Apple 文档
在 iOS 6 中,您的应用支持在应用的 Info.plist 文件中定义的界面方向。视图控制器可以覆盖supportedInterfaceOrientations 方法来限制支持的方向列表。一般情况下,系统只会在窗口的根视图控制器或呈现为填满整个屏幕的视图控制器上调用该方法;子视图控制器使用其父视图控制器为它们提供的窗口部分,并且不再直接参与有关支持哪些旋转的决策。应用程序的方向掩码和视图控制器的方向掩码的交集用于确定视图控制器可以旋转到哪些方向。
我曾考虑过使用变换来模拟子视图控制器中的旋转,但老实说,我觉得应该有更好的方法,如果可能的话,我想避免这种情况。
似乎为了让任何子视图控制器支持界面方向,它的父视图控制器(以模态或其他方式呈现)现在也必须支持该界面方向。
我在这里错过了一些简单的东西吗?这是否像看起来那样荒谬?