如何获取iPhone 各机型以及系统的状态栏高度进行适配

在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;
}

 

你可能感兴趣的:(iOS14,兼容性问题)