iOS 系统状态栏高度获取方法

状态栏高度(灵动岛也适用)

使用xcode14后,使用statusBarFrame获取系统状态栏高度失效,无法适配iPhone14系列

注:各机型系列状态栏高度
  • 非刘海屏机型:20px
  • iPhone 11 / XR:48px
  • iPhone12,13非mini系列 / 14:47px
  • iPhone12,13mini系列:50px
  • iPhone 14 Pro/14 Pro Max:59px
  • 其他刘海屏系列:44px
代码:

OC获取代码

CGFloat height = 0.0;//最终高度存储容器
if (@available(iOS 13.0, *)) {
    CGFloat topHeight = [UIApplication sharedApplication].windows.firstObject.safeAreaInsets.top;
    height = topHeight ? topHeight : 20.0;
}else {
    height = [[UIApplication sharedApplication] statusBarFrame].size.height;
}

swift获取代码

var height = 0.0
if #available(iOS 13.0, *) {
    let topHeight = UIApplication.shared.windows.first?.safeAreaInsets.top
    height = topHeight ?? 20
}else{
    height = UIApplication.shared.statusBarFrame.size.height
}

你可能感兴趣的:(iOS 系统状态栏高度获取方法)