在iOS5中没有调用UIViewController设备旋转委托方法

spd*_*spd 6 rotation uiviewcontroller ios5

我正在开发一个iPhone应用程序.在这个应用程序中,UIViewController(vc1)呈现另一个UIViewController(vc2).vc1支持纵向和横向方向; vc2仅支持纵向方向.

  1. 当呈现vc2时,它会询问vc1:shouldAutorotateToInterfaceOrientation:并返回YES
  2. 在iOS5(Beta 7)中,willRotateToInterfaceOrientation:,didRotateFromInterfaceOrientation:未被调用此序列.但是,这在iOS4中运行良好.这是iOS5中的错误吗?

spd*_*spd 8

我向Apple报告了一个错误,我收到了以下回复:

"Engineering已根据以下信息确定此问题的行为符合预期:

演示行为是正确的 - 如果它在以前的版本中表现不同,那就是一个错误.行为中可以想象的意外变化是关于VC1的解散,它不再获得旋转回调,但它将以纵向布局.

当视图控制器自行调整时,还有其他方法可以确定您的方向.由于各种原因,依赖于旋转回调被证明是有问题的.

通常,viewController旋转回调在两种情况下发生:

  1. 设备方向更改窗口层次结构中的视图控制器
  2. 混合界面方向演示.(底部控制器仅支持纵向,设备处于横向,并且呈现支持横向的视图控制器.)然而,这可以说是错误的.

尝试在iOS 5中使用viewWillLayoutSubviews:"