【问题标题】:iOS Face Up Orientation IssueiOS 正面朝上方向问题
【发布时间】:2012-06-28 14:10:18
【问题描述】:

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

有没有什么方法可以判断设备是否仍然显示横向或纵向?我试过检查框架宽度,但它声称它是 768,即使设备平放在风景中也是如此。而且当设备变平时我无法强制定向,我听说那是 App Store 拒绝的道路。

【问题讨论】:

  • 重力不是这样工作的。 ;)

标签: objective-c ios xcode orientation


【解决方案1】:

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

【讨论】:

  • 是的。不过现在对我来说有点头疼,我特别需要这两个视图,这真的给整个事情带来了麻烦。其他一切都完美无缺,只是这个案例失败了。我发现很难相信没有什么内置的东西不让人头疼,半点想出来帮助区分,我敢肯定我不是第一个遇到这种情况的人。
【解决方案2】:

有一种方法可以检查它。

UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation]; UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation; 使用第一个检查设备是否正面朝上,第二个会告诉您设备是纵向还是横向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 2016-12-14
    • 1970-01-01
    • 2012-12-30
    相关资源
    最近更新 更多