IOS - iPhone X适配基础

1、打开 Launch Images 文件夹中的 Contents.json ,在文件中增加对应的内容。

图1 设置Launch Images
{ "extent" : "full-screen", "idiom" : "iphone", "subtype" : "2436h", "filename" : "1125x2436.png", "minimum-system-version" : "11.0", "orientation" : "portrait", "scale" : "3x"}

2、在 Launch Images 中,配置 1125x2436 分辨率的图片后,如图:

图2 左边(未适配)右边(已适配)

3、顶部和底部还需要进一步适配在iOS 11中带有安全区域(tabbar 和 navbar),顶部状态栏高度:44,底部预留区域:34

由于app顶部NavBar是自定义的,所以在修改内部其他组件高度的时候,把原先写死的64,改成statusHeight(宏)+ 44
其中用到的宏定义:

/** 是否是iPhone X */
#define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)

/** 状态栏高度 */
#define JooStatusHeight (iPhoneX?44:20)

/** 顶部高度(安全区域的顶部) */
#define JooNavHeight (iPhoneX?88:64)

/** 底部高度(安全区域的底部)*/
#define JooBottomHeight (iPhoneX ? 34 : 0)

4、设计相关资料

iPhone4做原型时,可以用 320 x 480,
iPhone5做原型时,可以用 320 x 568,
iPhone6做原型时,可以用 375 x 667,
iPhone6 Plus原型,可以用 414 x 736,
iPhone X做原型时,可以用 375 x 812,

真正技术实现时,才会再做高分辨率的图。
iPhone4的显示分辨率,640 x 960
iPhone5的显示分辨率,640 x 1136
iPhone6的显示分辨率,750 x 1334
iPhone6 Plus显示为,1242 x 2208
iPhone X的显示分辨率,1125 x 2436

5、网上另一种解决“刘海”的方案

CocoaPods
Add pod 'HairPowder' to your Podfile.

IOS - iPhone X适配基础_第1张图片
123.png

github地址HairPowder

你可能感兴趣的:(IOS - iPhone X适配基础)