iOS 获取状态栏高度 - 兼容 iOS 13 及以上版本
iOS 获取状态栏高度 - 兼容 iOS 13 及以上版本
本文提供获取 iOS 状态栏高度的代码,兼容 iOS 13 及以上版本,并封装成宏定义,方便调用。
代码示例
方法调用
+ (CGFloat)statusBarHeight {
CGFloat statusBarHeight = 0;
if (@available(iOS 13.0, *)) {
statusBarHeight = [UIApplication sharedApplication].windows.firstObject.windowScene.statusBarManager.statusBarFrame.size.height;
} else {
statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;
}
return statusBarHeight;
}宏定义
#define StatusBarHeight
({
CGFloat statusBarHeight = 0;
if (@available(iOS 13.0, *)) {
statusBarHeight = [UIApplication sharedApplication].windows.firstObject.windowScene.statusBarManager.statusBarFrame.size.height;
} else {
statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;
}
statusBarHeight;
})使用方法
使用 StatusBarHeight 宏获取状态栏高度,例如:
NSLog(@'状态栏高度:%f', StatusBarHeight);说明
该代码兼容 iOS 13 及以上版本,在 iOS 13 之前使用 [UIApplication sharedApplication].statusBarFrame.size.height 获取状态栏高度,在 iOS 13 及以上版本使用 [UIApplication sharedApplication].windows.firstObject.windowScene.statusBarManager.statusBarFrame.size.height 获取状态栏高度。
原文地址: https://www.cveoy.top/t/topic/qesX 著作权归作者所有。请勿转载和采集!