childViewControllers没有接收旋转事件

时间:2013-06-04 19:39:27

标签: iphone ios uiviewcontroller uikit

我有一个看起来像这样的父/子视图控制器系统

-- (Parent) RootViewController
      -- (Child) ChildController
              -- (Child) GrandChildController1
              -- (Child) GrandChildController2

基本上,我有一个带有childViewController的根视图控制器。那个childViewController充当其他几个控制器的parentViewController。现在,我想允许其中一个GrandChildViewControllers旋转。但这是允许旋转的层次结构中唯一的控制器。

我正在将子视图控制器添加到层次结构中,如下所示:

[self addChildViewController:_childViewController];
[self.view addSubview:_childViewController.view];

现在,当设备旋转时,我的第一个childViewController正在接收旋转事件,但该控制器的任何子节点(子视图控制器)都没有接收旋转事件。谁知道为什么?

由于

1 个答案:

答案 0 :(得分:1)

需要注意的事项:

  • 在iOS 6中,您还需要覆盖supportedInterfaceOrientations - 覆盖shouldAutorotate是不够的。
  • 在iOS 5中,如果父VC返回NO shouldAutorotateToInterfaceOrientation:,它将取消子VC的轮换。我不确定iOS 6自动旋转机制是否表现相似。

根据您的评论,我猜您缺少supportedInterfaceOrientations。如果我猜错了,那么如果你向我们展示你在所有控制器中实现自动旋转方法的话,它可能会有所帮助。