3

让我首先说在应用程序打开后在 iOS6 中旋转视图时我没有遇到问题。这个问题只发生在我第一次在横向启动应用程序时。新的shouldAutorotatesupportedInterfaceOrientations方法在启动时都会被调用,但是没有任何旋转方法被调用,例如willRotateToInterfaceOrientation:duration:。(shouldAutorotate 总是返回 YES,supportedInterfaceOrientations 总是返回 UIInterfaceOrientationMaskAll)

在 iOS5 中,启动时的“第一”方向是自动处理的。有没有解释为什么设备不会在 iOS6 中调用第一次横向旋转?(我正在检查的视图控制器是窗口/应用程序委托的根控制器)。

提前感谢您对此的任何帮助和洞察力。

4

2 回答 2

2

我想由于界面实际上并没有旋转,因此没有调用该方法。

如果您想根据方向进行一些设置,您是否考虑过使用视图控制器的intefaceOrientation属性?

于 2012-10-15T14:07:19.010 回答
2

您现在应该使用该viewWillLayoutSubviews方法而不是willRotateToInterfaceOrientation:duration:. 原因是因为willRotateToInterfaceOrientation:duration:不能保证在许多情况下都会被调用。

这在iOS6 发行说明中以及其他地方都有说明。

于 2012-10-15T15:09:41.300 回答