objective-c - iOS 面朝上方向问题

标签 objective-c ios xcode orientation

当设备放在 table 上时,有没有办法区分横向和纵向,即 UIDeviceOrientationFaceUp?我有两个不同的 xib 文件,我根据用户持有设备的方式在它们之间切换。但当我横向握住设备,然后将设备放下时,问题就出现了。设备保持横向,但会加载纵向 xib 文件。如果在我的编码中将 UIDeviceOrientationFaceUp 与横向方向结合起来,问题将会相反:那么当设备仍处于纵向状态时,我将显示横向 View 。

有什么方法可以判断设备是否仍在显示横向或纵向?我尝试过检查框架宽度,但它声称即使设备平放于横向,框架宽度也是 768。当设备平放时,我无法强制确定方向,我听说这会导致 App Store 被拒绝。

最佳答案

你不能这么做。当手机放在 table 上时,加速度计无法判断用户坐在手机的哪一侧。您可以使用陀螺仪(和指南针)测量绕其轴的旋转,但不幸的是,这仍然无法告诉您用户所在的位置。

关于objective-c - iOS 面朝上方向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246519/

相关文章:

objective-c - Objective-C Method Swizzling 是否会影响其他进程中的代码?

objective-c - 使用 NSUrlRequest 上传文件导致零字节文件大小

iphone - 如何为uiTableView中的每个单元格设置不同的图像?

ios - 导航 Controller 未加载(push,present)另一个viewController

iphone - 最新的 iOS SDK 4.2 可以录制 iPhone 通话吗?

ios - Facebook 登录后重定向到新的 ViewController

ios - 容器 View 中的 View Controller 与 Objective C 中的父 Controller 之间的交互

ios - 如何从 UITabBarController 以编程方式添加和打开 Nib 作为 subview Controller

xcode - For 循环中的 UITextView 缺少参数

ios - 当AutoLayout在调试控制台中记录无法满足的约束时,如何使AutoLayout使我的应用程序崩溃?