iphone - 检测 iOS 设备方向锁定

标签 iphone ios orientation

如何以编程方式检查设备方向是否在 iOS 中锁定?我在 UIDevice 中什么也看不到。我知道这对应用程序来说应该是透明的。但是如果方向被锁定,我想改变我显示内容的方式(就像 Youtube 应用程序一样;它锁定为横向而不是纵向)。这一定是可能的。

最佳答案

您可以使用 UIAccelerometer 类来非常详细地确定手机的方向。如果加速度矢量进入其最大绝对分量在X轴上的状态,即横向。从理论上讲,这可以用来检测方向锁定:如果在这种情况发生后的几秒钟内, Controller 没有收到对 shouldRotateToInterfaceOrientation 的调用,并且 [[UIDevice currentDevice] 方向] 属性不是横向的,然后您可以安全地假设用户已锁定方向。

这很复杂,并且有延迟,因为 shouldRotateToInterfaceOrientation 将在实际矢量实际进入景观区域后调用。整个想法有点 hack,您可能应该重新考虑为什么当用户不喜欢显示横向 View 时您真的需要显示它们。

关于iphone - 检测 iOS 设备方向锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410763/

相关文章:

iOS - 应用程序内购买 - 服务器中的设置

javascript - 不确定为什么数据没有按预期呈现

iOS:即使使用 shouldAutorotateToInterfaceOrientation 也不会调用 willAnimateRotationToInterfaceOrientation

ios - 自动布局方向不起作用

iphone - 使用iOS6在Facebook的Xcode 4.5中从Facebook获取用户详细信息

ios - 在 scrollViewDidZoom 中调整所有 subview 的大小

iphone - 如何解决 NSException 格式使用非字符串文字的安全问题

HTML5 : Image rotating around pivot, 方向错误

iphone - UIImagePickerController Low Memory 在 iPad Mini 上的 ios7 崩溃

android - android和ios有多少个端口号?