美文网首页
iPonex系列适配

iPonex系列适配

作者: 远方的枫叶 | 来源:发表于2019-02-25 15:40 被阅读1次

iPhone X系列屏幕相关信息:

设备 屏幕尺寸 点分辨率pt 屏幕比例scale 像素分辨率px
iPhone X & iPhone XS 5.8 375 x 812 @3x 1125 x 2436
iPhoneXR 6.1 414 x 896 @2x 828 x 1792
iPhone XS Max 6.5 414 x 896 @3x 1242 x2688

1.启动图适配:
iPhone XR:828px x 1792px
iPhone XS Max: 1242px x 2688px

2.判断iPhone X系列参考方法:

- (BOOL)isIPhoneXSeries {
    BOOL iPhoneXSeries = NO;
    if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPhone) {
        return iPhoneXSeries;
    }
    
    if (@available(iOS 11.0, *)) {
        UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];
        if (mainWindow.safeAreaInsets.bottom > 0.0) {
            iPhoneXSeries = YES;
        }
    }
    
    return iPhoneXSeries;
}

3.iPhone X系列手机设备型号判断:
参考设备型号官网

if ([platform isEqualToString:@"iPhone10,3"] || [platform isEqualToString:@"iPhone10,6"]) return @"iPhone X";
if ([platform isEqualToString:@"iPhone11,8"]) return @"iPhone XR";
if ([platform isEqualToString:@"iPhone11,2"]) return @"iPhone XS";
if ([platform isEqualToString:@"iPhone11,4"] || [platform isEqualToString:@"iPhone11,6"]) return @"iPhone XS Max";

4.Xcode10升级
整体无重大错误出现,遇到错误解决错误,遇到警告修正警告即可。
等我在iOS海外SDK上测试完成后再升级。
测试项目:在新模拟器上的界面适配,打包脚本是否无需改动等。

iOS开发之适配的相关属性

//竖屏状态栏高度
#define Portrait_Status_SafeArea_Height (kDeviceInfo.isiPhoneXSeries ? 44 : 20)
//竖屏底部不带tabbar安全区域高度
#define Portrait_Bottom_SafeArea_Height (kDeviceInfo.isiPhoneXSeries ? 34 : 0)
//竖屏底部带tabbar时安全区域高度
#define Portrait_Tabbar_SafeArea_Height (kDeviceInfo.isiPhoneXSeries ? (49 + 34) : 49)
//横屏底部安全区域的高度
#define Landscal_Bottom_SafeArea_Height (kDeviceInfo.isiPhoneXSeries ? 21 : 0)
//横屏左右安全区域的宽度
#define Landscal_LeftRight_SafeArea_Width (kDeviceInfo.isiPhoneXSeries ? 44 : 49)

相关文章

网友评论

      本文标题:iPonex系列适配

      本文链接:https://www.haomeiwen.com/subject/tnavyqtx.html