如何获取iPhone视图的当前方向或设备的最后方向?

9

我的应用程序中,当用户摇动设备时会出现一张图片。横屏和竖屏模式下有不同的图片。如果iPhone的方向是竖屏或横屏,那么它可以正常工作。但如果是UIDeviceOrientationFaceDownUIDeviceOrientationFaceUp,则该图片应取决于上次使用的方向,因为该视图仍然显示为此方向。

如何获取设备的最后方向?

2个回答

26

我弄清楚了!我需要检查状态栏的方向!

[UIApplication sharedApplication].statusBarOrientation

2
如果状态栏被隐藏了会怎么样? - Shailesh

2

在一个类的shouldAutoRotate方法中,它会传递一个名为interfaceOrientation的参数。每当设备方向改变时,都会调用这个方法。您可以将其存储为变量,稍后查看它以确定最后一次的方向。

 1 = standard portrait
 2 = upsidedown
 3 = button right landscape
 4 = button left landscape. 

同时,调用self.interfaceOrientation会给您当前设备的方向。

希望这至少能让您朝着正确的方向开始。


self.interfaceOrientation 只返回 UIDeviceOrientationFaceDown (Up),对我没有帮助。我会尝试找出当方向为 FaceUp 时,shouldAutoRotate 方法的 interfaceOrientation 是否被覆盖。谢谢! - Knodel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接