我正在开发一个iPhone应用程序.在这个应用程序中,UIViewController(vc1)呈现另一个UIViewController(vc2). vc1支持纵向和横向方向; vc2仅支持纵向方向.
>当出现vc2时,它会询问vc1:shouldAutorotateToInterfaceOrientation:并返回YES
2.在iOS5(Beta 7)willRotateToInterfaceOrientation:,didRotateFromInterfaceOrientation:没有被调用此序列.但是,这在iOS4中运行良好.这是iOS5中的错误吗?
感谢致敬,
迪帕
解决方法
我向Apple报告了一个错误,我收到了以下回复:
“Engineering已根据以下信息确定此问题的行为符合预期:
演示行为是正确的 – 如果它在以前的版本中表现不同,那就是一个错误.行为中可以想象的意外变化是关于VC1的解散,它不再获得旋转回调,但它将以纵向布局.
当视图控制器自行调整时,还有其他方法可以确定您的方向.由于各种原因,依赖于旋转回调被证明是有问题的.
通常,viewController旋转回调在两种情况下发生:
>窗口层次结构中视图控制器的设备方向发生变化
>混合界面方向演示. (底部控制器仅支持纵向,设备处于横向,并且呈现支持横向的视图控制器.)然而,这可以说是错误的.
尝试在iOS 5中使用viewWillLayoutSubviews:“