iPhone XS和XR屏幕适配

上周,苹果发布了三款新的 iPhone 设备,它们的屏幕数据分别如下:

  • iPhone XS: 5.8 英寸,375pt * 812pt (@3x);

  • iPhone XR: 6.1 英寸,414pt * 896pt (@2x);

  • iPhone XS Max: 6.5 英寸,414pt * 896pt (@3x);

在国外的 PaintCode 网站上,有一篇文章《The Ultimate Guide To iPhone Resolutions》整理了包括从第一代 iPhone 到最新发布的 iPhone XS Max 等所有 iPhone 设备的屏幕数据,包括:开发尺寸(points)、物理尺寸(pixels)以及实际渲染像素、1倍/2倍/3倍模式等,如图 1 所示(建议大图查看更加清晰)。

image

从图中数据我们可以总结以下几点:

  • 5.8 英寸的 iPhone X/XS 与 6.1 英寸的 iPhone XR 和 6.5 英寸的 iPhone XS Max 的屏幕宽高比是一致的,约为 0.462

  • iPhone X/XS 的屏幕宽度(开发尺寸)与 4.7 英寸的 iPhone 8 相同,都为 375pt,只是在高度上增加了 145pt;

  • iPhone XR 和 iPhone XS Max 的屏幕宽度(开发尺寸)与 5.5 英寸 iPhone 8 Plus 相同,都为 414pt,只是在高度上增加了 160pt;

因此,设计师在出图时,仍然可以以 iPhone 8 和 iPhone 8 Plus 的屏幕宽度为基准分别进行 UI 布局,而对于不同高度的屏幕只要在纵向上进行内容延伸即可。

适配新的 iPhone X 设备

此外,我们发现,对于未进行新屏幕尺寸适配的工程,直接编译,在新设备 iPhone XR 和 iPhone XS Max 上运行,它们是以放大模式自动适配的(以 5.8 寸的 iPhone X 屏幕为基准等比例放大),此时在代码中获取到的屏幕宽高都为 375pt * 812pt。

那么如何正确适配新的屏幕尺寸呢?

  • 如果你的工程是以 LaunchScreen.storyboard 作为启动页,则只需要在 Xcode 10 下重新编译工程即可;

  • 如果你的工程是通过配置 Assets.xcassets 里的 LaunchImage 不同尺寸的启动图片作为启动页,则你需要新增两张 828px * 1792px 和 1242px * 2688px 分辨率的图片,如图 2 所示。

image

最后提一句
xcode10默认使用的是新的编译器,相比之前的编译系统会慢,如果想编译快的话建议选用Legacy Build System

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 提起笔却不知该从何谈起的故事。 很庆幸你们在我的青春里荒唐过。 曾有过一群很要好的密友,...
    Meki阅读 181评论 0 0
  • 第一百二十二章 徐艾这一觉睡得并不踏实。迷迷糊糊之间感觉自己好像在参加婚礼,远处走来的不是别人正是今天才看见的郭正...
    chief风阅读 466评论 2 3
  • 一年又一年,终于再次期待的来到毕业季,却发现更迷茫,人生就是这样,当年的当年,没想好未来会从事什么工作,所以导致当...
    暖如sunflower阅读 178评论 4 0
  • 今天出差到庆云和乐陵,庆云那边信誉楼和奥城两个商场,都不错,信誉楼那边说不看货没法进,她们有主要的些供应商,暂时不...
    c6397a55fadf阅读 263评论 0 0