iPhone 6 / 6 Plus 出现后,如何改进工作流以实现一份设计稿支持多个尺寸?

移动app开发中多种设备尺寸适配问题,过去只属于Android阵营的头疼事儿,只是很多设计师选择性地忽视android适配问题,只出一套iOS平台设计稿。随着苹果发布两种新尺寸的大屏iPhone 6,iOS平台尺寸适配问题终于还是来了,移动设计全面进入“杂屏”时代。看看下面三款iPhone尺寸和分辨率数据就知道屏幕有多杂了。


加上Android生态中纷繁复杂的各种奇葩尺寸,现在APP设计开发必须考虑适配大、中、小三种屏幕。所以如何做到交付一套设计稿解决适配大中小三屏的问题?设计和开发之间采用什么协作模式?一个基本思路是:

1、选择一种尺寸作为设计和开发基准;

2、定义一套适配规则,自动适配剩下两种尺寸;

3、特殊适配效果给出设计效果。

手机淘宝的iPhone 6/iPhone 6 Plus适配版本即将提交App store审核。先晒一下我们采用的协作模式,再慢慢说明原委。

第一步,视觉设计阶段,设计师按宽度750px(iPhone 6)做设计稿,除图片外所有设计元素用矢量路径来做。设计定稿后在750px的设计稿上做标注,输出标注图。同时等比放大1.5倍生成宽度1125px的设计稿,在1125px的稿子里切图。

第二步,输出两个交付物给开发工程师:一个是程序用到的@3x切图资源,另一个是宽度750px的设计标注图。

第三步,开发工程师拿到750px标注图和@3x切图资源,完成iPhone 6(375pt)的界面开发。此阶段不能用固定宽度的方式开发界面,得用自动布局(auto layout),方便后续适配到其它尺寸。

第四步,适配调试阶段,基于iPhone 6的界面效果,分别向上向下调试iPhone 6 plus(414pt)和iPhone 5S及以下(320pt)的界面效果。由此完成大中小三屏适配。

为什么选择iPhone 6作为基准尺寸?

当面对大中小三种屏幕需要适配的时候,很容易想到先做好一种屏幕,再去适配剩下两种屏幕。第一个决定是到底以哪种屏幕作为设计和开发的基准尺寸。我们选择中间尺寸的iPhone 6(750px/375pt)作为基准,基于几个原因:

1、从中间尺寸向上和向下适配的时候界面调整的幅度最小。375pt下的设计效果适配到414pt和320pt偏差不会太大。假设以414pt为基准做出很优雅的设计,到320pt可能元素之间比例就不是那么回事了,比如图片和文字之间视觉比例可能失调。

2、iPhone 6 plus有两种显示模式,标准模式分辨率为1242x2208,放大模式分辨率为1125x2001(即iPhone 6的1.5倍)。可见官方系统里iPhone 6和iPhone 6 plus分辨率之间就存在1.5倍的倍率关系。很多情况下这两种尺寸可以用1.5倍直接等比适配。

3、1242x2208这个奇葩的数值是苹果官方都不愿意公开宣传的一个分辨率,不便于记忆和计算栅格。640x1136虽然是广泛应用的一个分辨率,但是大屏时代依然以小尺寸为设计基准显然不合时宜,设计师会停留在小屏的视角做设计。

所以,iPhone6的750x1334是最适合基准尺寸。

只交付一套设计稿,默认用什么规则来适配?

前文提到适配策略是先选择iPhone 6作为基准设计尺寸,然后通过一套适配规则自动适配到另外两种尺寸。这套适配规则总结起来就一句话:文字流式,控件弹性,图片等比缩放。

控件弹性指的是,navigation、cell、bar等适配过程中垂直方向上高度不变;水平方向宽度变化时,通过调整元素间距或元素右对齐的方式实现自适应。这样屏幕越大,在垂直方向上可以显示更多内容,发挥大屏幕的优势。


按照上述默认适配规则,大中小三种屏幕显示效果均相同。有时候想在大屏幕显示更多内容,需要设计出特殊适配效果。比如App store首页焦点图,从iPhone 6适配到iPhone 6 plus时焦点图尺寸和排版做了特殊处理。底下应用列表也从一排3+个变成一排4+个,真正实现了大屏幕显示更多内容的理念。这些就需要设计师给出相应设计稿。

原文转摘: http://daily.zhihu.com/story/4252195?utm_campaign=in_app_share&utm_medium=iOS&utm_source=sina

转载于:https://www.cnblogs.com/CCMMBN/p/5387882.html

iOS多设备分辨率适配相关推荐

  1. React Native不同设备分辨率适配和设计稿尺寸单位px的适配

    React Native中使用的尺寸单位是dp(一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp = 1px),而设计师使用的是px, 这两种尺寸如何换算呢? 官方提供了PixelRat ...

  2. iOS设备分辨率 UI规范 以及适配

    iPhone/iPod Touch 普通屏                         320像素 x 480像素       iPhone 1.3G.3GS,iPod Touch 1.2.3 3 ...

  3. IOS学习之苹果设备分辨率一览表

    IOS 设备分辨率一览表 设备 屏幕尺寸 分辨率 (pt) Render 分辨率 (px) PPI iPhone4(S)/iPod Touch4G 3.5 320x480 @2x 640x960 33 ...

  4. IOS 判断设备屏幕尺寸、分辨率 根据屏幕尺寸和分辨率

    IOS 判断设备屏幕尺寸.分辨率 根据屏幕尺寸和分辨率,ios现在数起来有6个版本. iOS 设备现有的分辨率如下: iPhone/iPod Touch 普通屏                     ...

  5. xcode 开发ios兼容性问题的上下黑边 和 coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题!!!...

    1:Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题 问题描述: Xcode6环境下,对iPhone5或iPhone5s模拟器,在iOS7或iOS7.1下运行,屏幕上下有黑边.在iO ...

  6. android 布局可大可小,UI设计教程之:ios与android ui适配(将IOS UI转换成Android经验畅谈)...

    内容提要:这是UI设计系列教程之ios与android ui适配经验畅谈.文章作者介绍了自己将IOS UI转换成Android经验,包括:不要直接转换.了解单位和组件缩放格式.屏幕尺寸DP和像素的换算 ...

  7. pc端不同分辨率适配

    1.以1920* 1080的设计稿为例,实现PC端不同分辨率适配 2.安装依赖 npm install --save lib-flexible     或者  yarn add lib-flexibl ...

  8. 16、iOS屏幕等比例适配

    16.iOS屏幕等比例适配 1.基础概念 1.1 分辨率相关的概念 如果使用物理像素 如果使用点 1.2 1x.2x.3x的含义 2.适配的过程 2.1 从UI到开发 2.2 适配规则 等比缩放 变大 ...

  9. [深入浅出Windows 10]不同平台设备的适配

    2.3 不同平台设备的适配 Windows 10通用应用程序针对特定的平台还会有一个子API的集合,当我们要使用到某个平台的特定API的时候(比如手机相机硬件按钮触发事件),这时候就需要调用特定平台的 ...

最新文章

  1. python3.7.2教程-centos7系统下python2与python3共存
  2. 编辑docker容器中的文件
  3. helm部署Loki
  4. python 生成器笔记
  5. Vim特定行行尾追加
  6. cocos creator基础-(十三)cc.Loader使用
  7. 微软新版 Edge 浏览器叫板 Chrome!
  8. 数据挖掘面试题之梯度提升树
  9. 计算机无法识别打印机usb,win10电脑不识别打印机usb设备怎么回事_win10无法识别usb打印机如何处理-win7之家...
  10. 利用QQ邮箱设置个性域名邮箱,并在网易邮箱大师客户端添加域名邮箱
  11. 智能时尚:人工智能在时尚服装行业的应用综述 | 580+参考文献
  12. 惠普电脑没有insert键怎么办?(按回车不换行,光标到下一行文字处)
  13. C++版本OpenCv教程(十一)多通道分离与合并
  14. ListView中如何优化图片
  15. 经典案例--JS购物车
  16. spss分析方法-多个独立样本检验(转载)
  17. python 将pcm编码文件转化为wav音频文件
  18. 岛屿的个数java_LeetCode 200:岛屿数量 Number of Islands
  19. 世界有哪些古文明拥有自己的独立文字
  20. Rasa Core开发指南

热门文章

  1. 满有趣的屏幕快捷键;)
  2. 编程开发之--Oracle数据库--存储过程和存储函数(2)
  3. Winform让扫描枪听话,防止在有焦点的地方就扫码输入的尴尬
  4. senseFly为eBee农用无人机装备多谱段传感器
  5. [机器学习]机器学习笔记整理12-线性回归概念理解
  6. PCL点云库:Kd树
  7. C# JSON使用过程中开发的小工具
  8. Android Sensor——传感器
  9. ASP.NET Web API MediaTypeFormatter
  10. tomcat5 remote debug 设置