灵动岛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 }