如何检查设备在横向或纵向模式下是否处于平坦位置

时间:2019-05-14 17:43:03

标签: ios swift

有些关于设备方向的问题,有些用户回答如下:

if UIDevice.current.orientation.isLandscape {
    print("landscape")
} else {
    print("portrait")
}

这是完全错误的,因为他们不知道它可以得到第三个结果:isFlat

因此它可以返回三个不同的结果:

if UIDevice.current.orientation.isLandscape {
    print("landscape")
} else if UIDevice.current.orientation.isFlat {
    print("flat")
} else { // UIDevice.current.orientation.isPortrait
    print("portrait")
}

因此,如果设备处于平坦位置(isFlat),如何检查该设备是否以横向或纵向模式显示内容?

更新

其中只有一个可以是true

如果isFlat返回true,则isLandscapeisPortrait都返回false

更新2

我最终使用:

private func isLandscape() -> Bool {
    return self.view.frame.width > self.view.frame.height
}

或者我们可以使用UIApplication.shared.statusBarOrientation.isLandscape

0 个答案:

没有答案