ios - 返回错误的设备方向

标签 ios iphone swift orientation

我想我在 UIDevice.orientation 变量中发现了一个错误。

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(true)
    if UIDevice.current.orientation.isPortrait{
        print("Orientation is Portrait")
    }
    else{
        print("Orientation is Landscape")
    }
}

如果我将设备 (Iphone 5) 拿在手里,一切正常,但如果它平放在 table 上,我会看到“方向是横向”,即使所有内容都显示为纵向并且设备本身没有旋转。 有什么办法可以解决这个问题吗?

//编辑:此测试在按钮操作中也失败了。

最佳答案

除了纵向和横向之外,还有更多方向。您正在检查肖像并假设其他一切都是风景。它不是。在这种情况下,实际方向可能是“正面朝上”。

关于ios - 返回错误的设备方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47954770/

相关文章:

ios - 是否可以在没有硬件 iBeacon 的情况下仅基于位置将我的应用程序的快捷方式作为建议应用程序放在 iOS 8 的锁定屏幕上?

iOS - 填充静态 UIPickerView

iphone - AVAudioPlayer 影响系统声音

ios - removeFromParentViewController 从堆栈中移除所有 View Controller

iphone - 如何在 Game Center 中接受邀请

arrays - Swift 中 "cons"运算符/函数/方法在哪里?

c - Swift 和 C API (CoreVideo)

Swift 计时器检查 TouchesEnded

objective-c - @synchronized 与 NSLock 实例与 pthread_mutex_t

ios - 摇晃识别在 iOS 4 上不起作用,但在 iOS 5 上有效