我有一个自定义视图控制器层次结构。
子视图控制器仅作为子视图添加到自定义父视图控制器。父视图控制器还在正确的时间调用子视图控制器的-[willRotateToInterfaceOrientation:duration:]
和-[didRotateFromInterfaceOrientation:]
方法。
所有内容似乎都应该正常工作,但出于某种原因,interfaceOrientation
属性设置不正确,始终为UIInterfaceOrientationPortrait
。
当我旋转到横向时,如何让子视图控制器在interfaceOrientation
中具有正确的值?
答案 0 :(得分:1)
我认为你不能,不管怎么说都不使用公共API。此外,您尝试这样做的事实表明您没有遵循iOS应用程序的推荐设计。考虑View Controller Programming Guide
的建议注意:如果要将视图层次结构划分为多个子区域并分别管理每个子区域,请使用通用控制器对象(从NSObject降序的自定义对象)而不是视图控制器对象来管理每个子区域。然后使用单个视图控制器对象来管理通用控制器对象。
UIViewControllers旨在管理整个屏幕内容。一旦你违反了这个假设,你将会与框架作斗争,试图让你的观点按照你的预期行事。