如何以编程方式检查设备方向是否在 iOS 中锁定?我在 UIDevice 中什么也看不到。我知道这对应用程序来说应该是透明的。但是如果方向被锁定,我想改变我显示内容的方式(就像 Youtube 应用程序一样;它锁定为横向而不是纵向)。这一定是可能的。
最佳答案
您可以使用 UIAccelerometer
类来非常详细地确定手机的方向。如果加速度矢量进入其最大绝对分量在X轴上的状态,即横向。从理论上讲,这可以用来检测方向锁定:如果在这种情况发生后的几秒钟内, Controller 没有收到对 shouldRotateToInterfaceOrientation
的调用,并且 [[UIDevice currentDevice] 方向]
属性不是横向的,然后您可以安全地假设用户已锁定方向。
这很复杂,并且有延迟,因为 shouldRotateToInterfaceOrientation
将在实际矢量实际进入景观区域后调用。整个想法有点 hack,您可能应该重新考虑为什么当用户不喜欢显示横向 View 时您真的需要显示它们。
关于iphone - 检测 iOS 设备方向锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410763/