[UIDevice cuurentDevice] .orientation在appDidBecomeActive回调中返回先前的值

时间:2012-03-12 10:58:56

标签: ios device-orientation uideviceorientation

如果我通过按主页按钮将应用程序带到后台,然后更改设备方向并将应用程序置于前台,我仍然可以在[UIDevice currentDevice] .orientation中获得之前的设备方向值。

例如,我将设备保持在默认方向,将应用程序移至背景并将设备旋转至UpsideDown方向,然后将应用程序置于前台,deviceOrientation在查询时仍为默认值。只有一段时间后,才会调用beginDeviceOrientationEvents的监听器,并且可以使用正确的值。

所以我想问一下,在应用重新启动时,首先应该在哪里获取正确的deviceOrientation值?

1 个答案:

答案 0 :(得分:0)

在您的app delegate的[[UIDevice currentDevice] orientation]方法中使用applicationDidBecomeActivedescribed in the docs}。

<强>更新

事实上,[[UIApplication sharedApplication] statusBarOrientation]可能更有用,因为返回的值会考虑您将应用设置为与之兼容的方向。