在iPhone x以前苹果手机的各机型状态栏高度均为20;在iPhone x以后苹果新推出刘海屏机型,苹果的各机型状态栏高度均为44。但是今年苹果随着苹果新操作系统iOS 14的推出导致了iPhone x以后的部分苹果刘海屏机型状态栏的高度的改变有的为47,有的为48,有的还是44。目前这个更改不知道是ios 14.2的bug,还是说以后苹果会把刘海屏机型的状态栏的高度依然全部改成44。
具体如下:
设备 状态栏高度
iPhone X以前的机型 20
iPhone XR/11 48
iPhone X/11 Pro/ 11 Pro Max/12 mini 44
iPhone 12/12 Pro/Pro Max 47
好了,言归正传。请看下面的代码如何获取苹果各机型的状态栏高度及适配。
根据不同系统,通过相应方法获取状态栏高度。
+ (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;
}