ios - 如何获得初始状态栏高度?

标签 ios swift

我尝试了 UIApplication.shared.statusBarFrame.height,但是当我在启用通话状态栏的情况下启动应用程序时,我得到的是 40 而不是 20。我在最初的帖子中打印了该值初始 View Controller 的 viewDidLoad 函数。我有一个 UIView 位于状态栏的正后方,充当“背景 View ”以生成自定义状态栏背景颜色。当返回 40 并且通话中状态栏消失时, View 比应有的大得多。

最佳答案

首先检查statusBarOrientation:

UIApplication.sharedApplication().statusBarOrientation

纵向使用时:

let status_height = UIApplication.sharedApplication().statusBarFrame.size.height

横向使用时:

let status_height = UIApplication.sharedApplication().statusBarFrame.size.width

关于ios - 如何获得初始状态栏高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46291869/

相关文章:

iphone - 使用 sendAsynchronousRequest :queue:completionHandler:? 时跟踪重定向

ios - 无法在 Swift 框架中导入 Common Crypto

ios - 根据段选项重新加载 TableView

ios - `UIApplication.shared.canOpenURL(:)` 方法不适用于 iOS 11.4(仅限 iPad 设备)?

swift - 为什么我无法从 Parse 检索对象并将其存储在数组中?

ios - 使用 UIAccessibilityAction :accessibilityPerformEscape

ios - Core Data Managed Object 无法保存上下文(错误 134030)

arrays - 如何在 swift 4 中将多个数据存储在一个数组中?

ios - IOS 中的 ASPHTTPResquest - 响应状态代码为零

ios - 与照片相关的警报不会调用 addUIInterruptionMonitor 的处理程序