之前狀態(tài)欄高度:有劉海屏iPhone為44,無劉海屏為20。
但是從ios14開始有劉海屏的iPhone狀態(tài)欄高度不一定是44了。如:
iPhoneXR,iPhone11 狀態(tài)欄高度為48,
iPhone X,iPhone 11 Pro,iPhone 11 Pro Max,iPhone 12 mini,狀態(tài)欄高度44,
iPhone 12,iPhone 12 Pro,iPhone 12 Pro Max,狀態(tài)欄高度為47.
所以之前項目中如果是寫固定值的狀態(tài)欄高度為44的宏就不適用了。
替換為以下宏:
#define phoneStatusHeight \
({CGFloat statusBarHeight = 0.0;\
if (@available(iOS 13.0, *)) {\
statusBarHeight = [UIApplication sharedApplication].windows.firstObject.windowScene.statusBarManager.statusBarFrame.size.height;\
} else { \
statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;\
}\
(statusBarHeight);\
})