我的应用程序有一个视图控制器层次结构,如下所示:
UITabBarController
|
UINavigationController
| |
| UIViewController
|
UINavigationController
|
UIViewController
我在此层次结构中的所有视图控制器都覆盖了该方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
并返回YES
- 因此视图控制器应该能够旋转到任何旋转 - 甚至倒置。
但是,在此设置中,没有一个视图控制器成功旋转。我的印象是,如果视图控制器响应旋转,导航和标签栏控制器会旋转。
为什么我的视图控制器不会旋转?
我能够让它们旋转的唯一方法是子类化UINavigationController
和覆盖它的shouldAutorotate
方法,但这对我来说没有必要,我想知道我是否错过了一些东西来完成这项工作。
编辑:
根据用户体验编码方法:
如果您还使用工具栏,则每个工具栏项的视图控制器必须实现 shouldAutorotateToInterfaceOrientation: 方法并为您希望支持的每个方向返回 YES。如果您有一个用于工具栏项的导航控制器,则该导航控制器的根视图控制器必须实现 shouldAutorotateToInterfaceOrientation: 方法并返回 YES。
它说“工具栏”-但我认为这是一个错字,可能应该是“标签栏”。
所以看来我正确地实现了这一点,但我的控制器仍然没有自动旋转。