作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简单地说,我依靠以下代码来提供应用程序的方向。在应用程序中使用它有几个原因:
我只是负责在这种情况下进行维护,并且没有能力进行偏离当前(且正常运行)布局逻辑的重大更改。
到目前为止,它依赖于以下内容来捕获应用程序方向:
var isLandscape: Bool {
return UIApplication.shared.statusBarOrientation.isLandscape
}
但是,在 Xcode 11 GM 版本中,我收到以下弃用警告:
'statusBarOrientation' was deprecated in iOS 13.0: Use the interfaceOrientation property of the window scene instead.
如何通过状态栏获取应用程序的方向?
最佳答案
Swift 5、iOS 13,但兼容旧版 iOS:
extension UIWindow {
static var isLandscape: Bool {
if #available(iOS 13.0, *) {
return UIApplication.shared.windows
.first?
.windowScene?
.interfaceOrientation
.isLandscape ?? false
} else {
return UIApplication.shared.statusBarOrientation.isLandscape
}
}
}
用法:
if (UIWindow.isLandscape) {
print("Landscape")
} else {
print("Portrait")
}
关于ios - 当尝试获取应用程序方向时,“statusBarOrientation”在 iOS 13.0 中已被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57965701/
我是一名优秀的程序员,十分优秀!