如何在视图控制器层次结构中正确设置interfaceOrientation属性?

时间:2011-02-01 23:17:22

标签: iphone ios uiviewcontroller rotation autorotate

我有一个自定义视图控制器层次结构。 子视图控制器仅作为子视图添加到自定义父视图控制器。父视图控制器还在正确的时间调用子视图控制器的-[willRotateToInterfaceOrientation:duration:]-[didRotateFromInterfaceOrientation:]方法。

所有内容似乎都应该正常工作,但出于某种原因,interfaceOrientation属性设置不正确,始终为UIInterfaceOrientationPortrait

当我旋转到横向时,如何让子视图控制器在interfaceOrientation中具有正确的值?

1 个答案:

答案 0 :(得分:1)

我认为你不能,不管怎么说都不使用公共API。此外,您尝试这样做的事实表明您没有遵循iOS应用程序的推荐设计。考虑View Controller Programming Guide

的建议
  

注意:如果要将视图层次结构划分为多个子区域并分别管理每个子区域,请使用通用控制器对象(从NSObject降序的自定义对象)而不是视图控制器对象来管理每个子区域。然后使用单个视图控制器对象来管理通用控制器对象。

UIViewControllers旨在管理整个屏幕内容。一旦你违反了这个假设,你将会与框架作斗争,试图让你的观点按照你的预期行事。