灵动岛iPhone状态栏获得高度不对 iOS iPhone14pro iPhone14pro max状态栏获得高度不对

之前的获得状态栏高度代码是

复制代码
func kStatusBarHeight() -> CGFloat {
    var statusBarHeight: CGFloat = 0
    if #available(iOS 13.0, *) {
        let statusManager = UIApplication.shared.windows.first?.windowScene?.statusBarManager
        statusBarHeight =  statusManager?.statusBarFrame.height ?? 20.0
    } else {
        statusBarHeight = UIApplication.shared.statusBarFrame.height
    }
    return statusBarHeight
}
复制代码

 

上面的代码,iPhone14之前手机获得状态栏高度都是正确的,刘海屏也没问题,

但是灵动岛手机有问题,获得高度是44是错误的。iPhone14pro iPhone14pro max状态栏高度应该是56。

应该用下面的代码解决这问题

复制代码
func kStatusBarHeight() -> CGFloat {
    var statusBarHeight: CGFloat = 0
    if #available(iOS 13.0, *) {
        let window = UIApplication.shared.windows.first
        let topPadding = window?.safeAreaInsets.top
        statusBarHeight = topPadding ?? 20.0
    } else {
        statusBarHeight = UIApplication.shared.statusBarFrame.height
    }
    return statusBarHeight
}
复制代码

 

posted @   黄增松  阅读(5198)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示