相关疑难解决方法(0)

尝试获取应用程序方向时,iOS 13.0 中不推荐使用“statusBarOrientation”

简单地说,我依靠以下代码来提供应用程序的方向。在应用程序中使用它有几个原因:

  • 根据 UX 规范,stackview 的布局是根据 iPad 的方向设置的(横向时为水平,纵向时为垂直)
  • 在上一项的基础上,stackview 被放置在屏幕的左侧(纵向)或顶部(横向)
  • 有自定义轮换逻辑,根据状态做出不同的响应。tl;dr 是在 iPad 上,该应用程序在方向之间呈现出显着差异

在这种情况下,我只是负责维护,并且无法做出偏离当前(并且正常运行)布局逻辑的重大更改。

截至目前,它依赖于以下内容来捕获应用程序方向:

var isLandscape: Bool {
    return UIApplication.shared.statusBarOrientation.isLandscape
}
Run Code Online (Sandbox Code Playgroud)

但是,对于 Xcode 11 GM 版本,我收到了以下弃用警告:

'statusBarOrientation' 在 iOS 13.0 中被弃用:改用窗口场景的 interfaceOrientation 属性。

如何通过状态栏获取应用程序的方向?

ios swift ios13

30
推荐指数
5
解决办法
2万
查看次数

标签 统计

ios ×1

ios13 ×1

swift ×1