天天看點

是否有劉海的機型(iPhoneX iPhoneXR iPhoneXS iPhoneXSMax)适配判斷

1、5.8(iPhoneX、iPhoneXs):1125x2436(375812)

2、6.1(iPhoneXR):828x1792(414896)

3、6.5(iPhoneXs Max):1242x2688(414*896)

劉海等安全區域位置:

狀态欄:44(無劉海時20)

底部:34(無一道杠時0)

方法1

CGFloat height = UIApplication.sharedApplication.statusBarFrame.size.height;
if (height >= 44.0) {
      // 是機型iPhoneX/iPhoneXR/iPhoneXS/iPhoneXSMax
}
           

方法2 推薦使用

if (@available(iOS 11.0, *)) {
            UIWindow *window = [UIApplication sharedApplication].delegate.window;
            if (window.safeAreaInsets.bottom > 0.0) {
                // 是機型iPhoneX/iPhoneXR/iPhoneXS/iPhoneXSMax
            }
}
           

方法3

if (UIScreen.mainScreen.bounds.size.height == 812.0 || UIScreen.mainScreen.bounds.size.height == 896.0) {
            // 是機型iPhoneX/iPhoneXR/iPhoneXS/iPhoneXSMax
}
           

方法4

if (CGSizeEqualToSize(UIScreen.mainScreen.bounds.size, CGSizeMake(1125.0, 2436.0)) || CGSizeEqualToSize(UIScreen.mainScreen.bounds.size, CGSizeMake(828.0, 1792.0)) || CGSizeEqualToSize(UIScreen.mainScreen.bounds.size, CGSizeMake(1242.0, 2688.0))) {
            // 是機型iPhoneX/iPhoneXR/iPhoneXS/iPhoneXSMax
}