我正在尝试构建一个在主窗口中有两个子视图的 iPhone 应用程序。每个视图都有自己的 UIViewController 子类与之关联。此外,在每个控制器的实现中,我添加了以下方法:
-(BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
因此,我希望这两种观点都能对方向的变化做出反应。然而,这种情况并非如此。只有添加到应用程序主窗口的第一个视图会响应方向。(如果我交换添加视图的顺序,那么只有另一个视图响应。换句话说,任何一个都可以工作——但一次只能一个。)
为什么是这样?不能处理多个视图的方向变化吗?
谢谢!
编辑:其他人有这个问题,所以我在这里复制我的解决方案:
我能够通过使用“shouldAutoRotate...”方法提供根视图和根视图控制器并将我的其他视图作为子视图添加到根视图来解决这个问题。子视图继承了自动旋转行为,并且它们关联的视图控制器不应该需要覆盖“shouldAutoRotate...”