iOS 13后状态栏获取高度的方法
2021-11-04 本文已影响0人
铁汁红豆
由于iPhone12等机型状态栏高度不是固定的了,所以我们要动态取状态栏的高度。
在iOS13系统,之前的StatusBar高度获取被弃用,使用UIStatusBarManager来获取StatusBar的状态和属性,由于状态栏高度一般宏定义,所以使用工具类声明方法获取高度,宏定义时调用工具类方法获取,易读性高。
func getStatusBarHeight() -> CGFloat {
var statusBarHeight:CGFloat = 0.0
if #available(iOS 13.0, *){
let statusBarMangager = UIApplication.shared.windows.first?.windowScene?.statusBarManager statusBarHeight = (statusBarMangager?.statusBarFrame.size.height)!
}else{
statusBarHeight = UIApplication.shared.statusBarFrame.size.height
}
return statusBarHeight
}