【发布时间】:2012-02-28 16:00:12
【问题描述】:
我创建了一个容器视图控制器,我可以在其中嵌入一个子视图控制器(使用新的 iOS 5 API)。当嵌入仅支持纵向的子视图控制器并且设备当前处于横向时,我想强制旋转为纵向。
我发现[UIViewController attemptRotationToDeviceOrientation] 方法几乎可以做到这一点,但并不完全如此。它实际上以相反的方式工作,因此如果嵌入了子视图控制器,并且设备处于纵向,我可以旋转到横向(但视图控制器将保持纵向),然后关闭嵌入式视图控制器,它会自动旋转到横向。
嵌入不支持当前方向的子视图控制器时,有什么方法可以强制容器视图控制器旋转?
【问题讨论】:
-
我认为有办法。如果我完全理解的话,我想我过去曾使用过类似的东西。您是否尝试过类似 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // 重写以允许任何方向。如果(嵌入孩子)返回否;返回是; }
-
是的,我目前正在这样做。问题是,嵌入子视图控制器时不会调用该回调。仅在旋转时,或在与设备方向不匹配的方向上调用
[UIViewController attemptRotationToDeviceOrientation]时。
标签: iphone ios ios5 uiviewcontroller orientation