ios新版本特性与适配开发知识点

ios 14 状态栏高度问题

2020-10-28  本文已影响0人  Superman168

前言

最近发现 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。

上一篇下一篇

猜你喜欢

热点阅读