2

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

例如,我将设备保持在默认方向,将应用程序带到后台并将设备旋转到 UpsideDown 方向,然后将应用程序带到前台,设备方向在被查询时仍然是默认值。仅在一段时间后,才会调用 beginDeviceOrientationEvents 的侦听器并提供正确的值。

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

4

1 回答 1

0

在您的应用程序委托的方法中使用[[UIDevice currentDevice] orientation](如文档中所述)。applicationDidBecomeActive

更新

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

于 2012-04-03T15:49:45.257 回答