在我的应用程序中,当用户摇动设备时会出现图像。横向和纵向模式有不同的图像。如果 iPhone 的方向是纵向或横向,则可以正常工作。但如果是UIDeviceOrientationFaceDown
或UIDeviceOrientationFaceUp
,则图像应取决于上次使用的方向,因为仍会针对此方向显示视图。
如何获得设备的最后方向?
在我的应用程序中,当用户摇动设备时会出现图像。横向和纵向模式有不同的图像。如果 iPhone 的方向是纵向或横向,则可以正常工作。但如果是UIDeviceOrientationFaceDown
或UIDeviceOrientationFaceUp
,则图像应取决于上次使用的方向,因为仍会针对此方向显示视图。
如何获得设备的最后方向?
我想通了!我必须检查状态栏的方向!
[UIApplication sharedApplication].statusBarOrientation
那么在一个类的 shouldAutoRotate 方法中,它传入一个名为 interfaceOrientation 的参数。只要设备方向发生变化,就会调用此方法。您可以将其存储为变量,并在以后查看它以确定最后的方向。
1 = standard portrait
2 = upsidedown
3 = button right landscape
4 = button left landscape.
self.interfaceOrientation 的调用也会给你当前的设备方向。
希望这至少能让你朝着正确的方向开始。