快好知 kuaihz

脱水技术文!聊聊IPHONE6分辨率与适配

苹果春晚刚结束,就有同学针对iPhone6 给出了分辨率适配的方法,纯脱水技术文,赶紧来学习一下!

开篇先送个宝贝:是不是被各种分辨率搞晕了? 看看这个,一张大图标全面解析6 6plus分辨率→http://www.paintcodeapp.com/news/iphone-6-screens-demystified

经新xcode6模拟器验证(分辨率为pt,像素为真实pixel):

iPhone5分辨率320×568,像素640×1136,@2x

iPhone6分辨率375×667,像素750×1334,@2x

iPhone6 Plus分辨率414×736,像素1242×2208,@3x,(注意,在这个分辨率下渲染后,图像等比降低pixel分辨率至1080p(1080×1920))

自动适配

不处理时自动等比拉伸,如果在老工程打印屏幕frame,依然是320×568

对比自动适配的和完美适配的导航栏就能看出问题:

因为拉伸所以会有一些虚,导航栏明显比64要大,但相比3.5寸到4寸的留黑边还是好很多。

如何关闭自动适配方案呢?这个还是老思路,换启动图:

除了换启动图外,不得不说的是,新Xcode中可以使用一个xib来设置启动图:

不过这个xib不能关联任何的代码(不能自定义View的Class,不能IBOutlet,不能加Object),可以理解成这个xib就是一张截图,这个方案的好处在于可以使用到Size Classes来针对不同屏幕布局这个xib(感兴趣可以看《Size Classes初探》)

关于手动适配

只要手动指定了启动图或者那个xib,屏幕分辨率就已经变成应有的大小了,老代码中所有关于写死frame值的代码通通倒霉,如果去手动适配就要全部适配,建议在找到个可行方案前先不要做修改,自动适配方案还算不影响使用。

面对4个分辨率的iPhone,建议使用Auto Layout布局 + Image Assets管理各个分辨率的图片 + Interface Builder(xib+storyboard)构建UI,Size Classes在低版本iOS系统的表现未知。想要这套手动适配方案,起码你的工程需要部署在iOS6+,还不用AutoLayout布局的会死的蛮惨。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:适配  适配词条  脱水  脱水词条  聊聊  聊聊词条  分辨率  分辨率词条  IPHONE6  IPHONE6词条  
设计

 需求分析:解剖产品想法

产品人总会产生各种各样的新想法,这其中极少数“应景且靠谱”的想法会成为产品、惠及网民,而更多产品想法只会成为谈资、或博文素材,比如下文中的这片想法。那么,产生不...(展开)

设计

 谈谈反馈设计怎么做

本文是笔者负责微众银行App设计规范时,引发的“反馈设计”相关思考。本文中,笔者具体介绍了什么是反馈设计以及反馈设计中要注意的要点。这是负责微众银行App部分交...(展开)

设计

 7项设计建议提高网站访客量

小编推荐:用设计的方式让产品更受欢迎一直是产品人员孜孜以求的,像文章说的一个小改动就能增加70%的点击,是不是很有吸引力?让我们来学习下,也来搞个诱人的网站吧~...(展开)