ios 14 状态栏高度问题

前言

最近发现 iOS 14 的状态栏高度不知道什么时候就变了,乱七八糟的,之前写的宏:

//判断是否是iPhone X
public let isiPhoneXLater = Bool(SCREEN_WIDTH >= 375.0 && SCREEN_HEIGHT >= 812.0 && isPhone)

/// 状态栏高度
public let STATUSBAR_HEIGHT = CGFloat(isiPhoneXLater ? 44 : 20)

也已经不好使了,只适用于 iOS 14 之前的。

测试对比

因为 iOS 14 之后的各种尺寸都有,乱的一笔,和iOS 13.5 对比大概如下:

测试Xcode版本

image.png

用系统的 API 获取高度:

/// Status Bar 的 Frame
public let StatusBarFrame = UIApplication.shared.statusBarFrame

/// Status Bar 的 Height
public let StatusBarHeight = StatusBarFrame.height

po UIApplication.shared.statusBarFrame

iPhone 11

iOS 13.5

▿ (0.0, 0.0, 414.0, 44.0)

iOS 14.2

▿ (0.0, 0.0, 414.0, 48.0)

iPhone 11 Pro

iOS 13.5

▿ (0.0, 0.0, 375.0, 44.0)

iOS 14.2

▿ (0.0, 0.0, 375.0, 44.0)

iPhone 11 Pro Max

iOS 13.5

▿ (0.0, 0.0, 414.0, 44.0)

iOS 14.2

▿ (0.0, 0.0, 414.0, 44.0)

iPhone 12,iPhone 12 Pro,iPhone 12 Pro Max
iOS 14.2

▿ (0.0, 0.0, 390.0, 47.0)

iPhone 12 mini

▿ (0.0, 0.0, 375.0, 44.0)
最坑的就是这个机型,系统获取的是 44 但真实的并不是 44 ,感觉应该是系统的 Bug。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。