当设备放在 table 上时,有没有办法区分横向和纵向,即 UIDeviceOrientationFaceUp?我有两个不同的 xib 文件,我根据用户持有设备的方式在它们之间切换。但当我横向握住设备,然后将设备放下时,问题就出现了。设备保持横向,但会加载纵向 xib 文件。如果在我的编码中将 UIDeviceOrientationFaceUp 与横向方向结合起来,问题将会相反:那么当设备仍处于纵向状态时,我将显示横向 View 。
有什么方法可以判断设备是否仍在显示横向或纵向?我尝试过检查框架宽度,但它声称即使设备平放于横向,框架宽度也是 768。当设备平放时,我无法强制确定方向,我听说这会导致 App Store 被拒绝。
最佳答案
你不能这么做。当手机放在 table 上时,加速度计无法判断用户坐在手机的哪一侧。您可以使用陀螺仪(和指南针)测量绕其轴的旋转,但不幸的是,这仍然无法告诉您用户所在的位置。
关于objective-c - iOS 面朝上方向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246519/