快速适配先说结论,找设计师要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》

iOS 适配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. iOS适配iPhoneX/XR/XS/XS MAX

    适配只看三个参数: 1.渲染像素–屏幕截图的图片尺寸,单位px 2.逻辑像素–程序员开发所用尺寸,单位pt 3.倍率–渲染像素/逻辑像素,得到倍数关系.常见倍率@2x,@3x Safe Area(安全 ...

  7. iOS 适配iOS11、iPhone X

    关于iPhone X尺寸及safe area 参考: http://www.ui.cn/detail/283956.html iPhone X 导航上和tabBar下两处空白(黑条) 解决方案:导入一 ...

  8. iOS 适配全面屏iPhone X系列手机-Swift版

    一.如何知道手机是全面屏手机? 网上有好多人使用获取手机型号的方式来判断,本人觉得这种方式没有问题,只是作为一名开发者,大家都知道苹果每年都会更新新的机型.大家肯定不希望在每次苹果发布新机型后去更新版 ...

  9. 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 ...

  10. 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 ...

最新文章

  1. imagick API 中文说明
  2. 调试寄存器(debug registers, DRx)理论及实践
  3. python使用@property @x.setter @x.deleter
  4. OpenCV霍夫线圆HoughLinesCircles的实例(附完整代码)
  5. 14门Linux课程,打通你Linux的任督二脉!
  6. 数据库事务原理详解-数据库隔离级别
  7. SQL Server:SQL Like 通配符特殊用法:Escape
  8. css3制作旋转动画
  9. 令人赞叹的 MySQL
  10. python爬虫框架scrapy学习图片下载
  11. git上传提示鉴权失败的问题
  12. R语言使用median函数计算向量数据的中位数
  13. 搭建ORB_SLAM3在Linux下的编译和运行环境
  14. IDEA更换背景图片
  15. 刘强东的大格局:京东要抢食亿万级货运出行市场!
  16. xp 无法关闭计算机,xp系统关机时一直显示正在关机状态却无法关键的解决方法...
  17. 数据结构与算法是什么?
  18. 中文字型设计新思路--人工智能与中文字型设计
  19. 乔布斯 1973 年求职申请表曝光,拍出22万 美元高价
  20. 西门子变频器SINAMICS G120P系列特点有哪些?

热门文章

  1. JAVA中分号用中文还是英文_【英文中有分号(;)吗?怎么用呢?】作业帮
  2. html子布局不超出父布局,flex布局子元素超出父元素
  3. 可视化工具Netron介绍
  4. 简单神经网络手算笔记
  5. SVD(奇异值分解)数值计算方法解析(一):SVD的概念与人工手算SVD的方法
  6. 心电监护仪数据图解_【 心电监护仪怎么看图解】_检查结果_如何查看-大众养生网...
  7. PS全套抠图技法教程,快速抠头发/抠婚纱,带配套素材
  8. 英语一2011 阅读四
  9. 【论文阅读】中医类药性分析:使用机器学习方法预测类药性
  10. MSDP配置(anycast RP)