快速适配先说结论,找设计师要2张启动图:

iPhone XR:828px x 1792px

iPhone XS Max: 1242px x 2688px

代码中使用了屏幕size判断是否是iPhone X的需要修改,请翻到最后。

LaunchImage中只有iPhone X/iPhone XS

XCode GM Bug?

项目中使用LaunchImage来做启动图,那么有可能在XCode GM的LaunchImage中会出现只有iPhone X/iPhone XS启动图,并且iOS 8.0 and Later 没有被选中,并且没有iPhone XR/iPhone XS Max,需要手动选择一下iOS 8.0 and Later,才会出现iPhone XR/iPhone XS Max启动图。 这可能是XCode GM中的一个Bug。

XCode9 LaunchImage

XCode10 GM LaunchImage iOS 8.0 and Later 没有被选中

XCode10 GM LaunchImage iOS 8.0 and Later 手动选中才出现 iPhone XR/iPhone XS Max

iPhone XR / XS Max 对老版本兼容请求

如果没有设置iPhone XR/iPhone XS Max启动图但设置了iPhone X的启动图,iPhone XR / XS Max默认会走iPhone X 的尺寸375ptx812pt,会对内容近乎于等比拉伸放到iPhone XR / XS Max屏幕内,如下图:

这里为什么说是近乎于等比拉伸: iPhone X 高宽比:812/375 = 2.16533333 iPhone XR 和 iPhone XS Max 高宽比:896/414 = 2.16425121

iPhone XR / XS Max 屏幕尺寸

当时看发布会觉得XR 828px的分辨率有点奇怪,现在看来并不是苹果不想做720或1080,而是有照顾开发工程师的目的。 XR 和 XS Max 在逻辑大小上非常统一2x,3x就够了,也不用做其他的切图。

所以现在只是需要设计师给2张效果图:

iPhone XR:828px x 1792px

iPhone XS Max: 1242px x 2688px

Tips

1. 代码中判断是否是iPhone X时需要注意

如果你以前是使用设备尺寸来判断iPhone X那就需要修改了,判断iPhone X主要是因为刘海的原因可能要做些特殊处理。鉴于iPhone X/XS/XR/XS Max底部都会有安全距离,所以可以利用safeAreaInsets.bottom > 0.0来判断是否是iPhone X/XS/XR/XS Max。

safeAreaInsets支持iOS11及以后。

static inline 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;
}

参考文档

Detect if the device is iPhone X

《Tech Talks - Session 207》

作者:Shanesun

链接:https://juejin.im/post/5b9a4b62e51d450e6f2e255b

适配iPhone XR/iPhone XS Max相关推荐

  1. iOS 【适配iPhone XR/iPhone XS Max】

    启动图 iPhone XR:828px x 1792px iPhone XS Max: 1242px x 2688px LaunchImage中只有iPhone X/iPhone XS 项目中使用La ...

  2. 如何激活iPhone XR和XS上的eSIM

    原文https://appletoolbox.com/2018/10/how-to-use-dual-sim-and-esim-on-iphone-xr-and-xs/#How_To_Set-Up_e ...

  3. H5移动端网页适配iPhone x/iPhone xr/iPhone 11pro/iPhone 11/iPhone 12 机型底部小黑条

    iPhone x/iPhone xr/iPhone 11pro/iPhone 11/iPhone 12 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题.对于网页而言,顶部 ...

  4. iOS屏幕适配 支持新手机 iPhone XR iPhone XS 超简单

    随着苹果爸爸发布了 超牛叉的iPhone iPhone X .iPhone XR.iPhone XS .iPhone XS Max.开发者的适配工作要开始了. 停,?. 如果app 适配过 iPhon ...

  5. 超简单 iOS屏幕适配 支持新手机 iPhone XR iPhone XS

    随着苹果爸爸发布了 超牛叉的iPhone iPhone X .iPhone XR.iPhone XS .iPhone XS Max.开发者的适配工作要开始了. 停,?. 如果app 适配过 iPhon ...

  6. iphone xr xs_如何在iPhone X,XR,XS和XS Max上截屏

    iphone xr xs With the arrival of the iPhone X and its lack of a Home button, Apple had to change the ...

  7. iphone xr xs_等等,是iPhone“ XS”还是iPhone“ Xs”?

    iphone xr xs Apple just announced a trio of new phones with pretty silly names. On top of being kind ...

  8. iPhone XS Max的tabbar显示混乱解决方法

    iPhoneX的适配没问题  但是xs max显示tabbar就混乱,如图: 原因就是tabbar高度获取都是49  但是系统给留了34的高度放在最下面不让你用,用来显示你的tabbar的高度就剩下了 ...

  9. 真有那么大差距?— iPhone XR 屏幕素质报告

    iPhone XR 与今年的旗舰 iPhone XS 系列不一样,没有采用Apple 官方称之为:「超视网膜高清显示屏」的新一代 OLED 屏幕,而是选择了被称为 Liquid 视网膜显示屏的 LCD ...

  10. iPhone X,iPhone XS,iPhone XR,iPHone XS Max 适配(只说实现,不BB)

    今天凌晨苹果新发布了三款手机,分别是iPhone XS,iPhone XR,iPhone XS Max,其中iPhone XS的屏幕尺寸和iPhone X的是一致的,另外两款都有了新的尺寸,具体尺寸如 ...

最新文章

  1. 36所高校强基计划大学的计算机专业排名,36所强基计划大学,综合实力大排名!高校专业怎么选?...
  2. AI赋能,让无人系统更智能
  3. python3 RSA加解密
  4. Oracle数据库实例的创建、删除、修改
  5. USACO 3.2 kimbits DP
  6. 没有思路?一个数据案例,拯救你的产品优化切入点
  7. Docker 初级教程
  8. Fiori navigation list scroll down后自动发OData请求取数据
  9. 依赖Zookeeper生成全局唯一序列号
  10. 正则表达式pcre在Android下的移植
  11. [ARM] [基础][编译]ARM的浮点功能历史分类和对应的编译选项
  12. 回调函数 线程_从0实现基于Linux socket聊天室-多线程服务器一个很隐晦的错误-2...
  13. python qtextedit设置光标位置_Python基础命令学习——就这一篇文章就够了
  14. 幕客better-scroll
  15. 给异地服务器远程ssh重装CentOS系统
  16. python免费ocr软件_实用工具 | 6款免费OCR神器,总有一款适合你!
  17. 电脑html动态桌面壁纸制作,动态桌面软件《Wallpaper Engine》 让你的电脑桌面动起来!...
  18. 视频监控安防平台-GB35114和GB28181的注册信令
  19. php纯文本源码,[PHP源码]文章原创度检测源码
  20. 关于CASS点自动连线方法

热门文章

  1. php apache mpm,RHEL 7 Apache MPM 配置
  2. TCP segment of a reassembled PDU
  3. 汇新云智慧城市解决方案——以区块链加速智慧城市建设
  4. w7查看计算机每天开关机时间,WINDOWS7 怎么查看上次开关机时间
  5. w7怎么修改服务器dns,win7系统在哪修改dns?win7系统修改dns的详细步骤
  6. 学习进度总结----蔡强130201201
  7. 漫谈TCP-AIMD/BBR的公平性以及buffer bloat
  8. 移动设备管理的具体措施有哪些?(下)
  9. 获取学信网学历电子版流程
  10. Nginx--网页压缩与图片压缩