首先要了解到,iPhone6与iPhone6plus的加入,ios适配的难度变大,很多人都不明白具体用多少分辨率去设计,如何最快捷的适配全部尺寸。
下面我来讲解一下我的理解,可能会和各位的想法有冲突,不喜勿喷。先给大家看一组IOS尺寸规范。
先说说我的理解,IOS界面设计,不应该一味的去考虑iPhone的分辨率(这就是苹果的聪明之处),而是控件的大小和清晰度,因为控件尺寸规范官方给定了,也是整个app里面一成不变的东西!举个例子,iPhone5s和iPhone6分辨率分别是:640x1136、750x1334,但是控件规范尺寸却都是一样的!抓住一点:我们做UI,是要保持控件的清晰度!非控件大部分都是数据内容,内容的话,我们只要标注“距屏幕边缘xx像素,距顶部xx像素,字号多少”就可以了,然后交给程序猿就不干我们毛事了,autolayout会自动拉伸布局。
iPhone5s和iPhone6,分辨率不一样但是控件大小是一样的,那多余的部分去哪里了?看蓝色标注,没错!多余的像素空出来了!!不要被640、750这样的数值所误解,分辨率再怎么变控件尺寸规范是固定的!iPhone6的屏幕尺寸比iPhone5s大,显示的内容自然就多了,但是仅仅是多了,尺寸规范还是iPhone5s的规范!那设计的时候用640还是750的?这个都不重要,只要遵循官方的尺寸规范就行。当然了我个人还是比较喜欢640,习惯。
看完iPhone5s和iPhone6的,下面看iPhone6 Plus的,在xcode中iPhone6 Plus的分辨率是1242x2208,所以需要适配iPhone Plus要用1242x2208下的尺寸规范才会有物理尺寸和老人版,还是按照上面的理解,咱们不看分辨率,咱们只看控件尺寸规范!拿导航栏高度来说(这也是为什么规范里不会出现宽度,因为宽度随着拉伸填充空白,而非宽高等比缩放)iPhone5s、6的是88px(@2x),iPhone6 Plus的是132px(@3x),iPhone6 plus尺寸规范其实就是iPhone5s、6设备的1.5倍(@2x和@3x命名也很直接)!那么假设我用640分辨率的,设计完了,直接图像大小调到640x1.5=960,然后分别导出切图。有人会说,小到大像素会糊掉。天,你们做UI的时候真的不用多边形矢量工具和智能图层吗?勾选“对齐边缘”和使用“像素贴合”插件(下面提供下载),要是这样边缘都糊掉了你来骂我!
放大后,虽然多边形的框偏移了,但是在“对齐边缘”和“像素贴合”插件作用下没有出现毛边!其实只要保证官方给出的尺寸规范正确就行了,管他分辨率多少,不是吗?因为这个是ios,安卓请无视。。即使最后分辨率是960,但是这个不重要,重要的是切图的素材尺寸对了就行。因为尺寸规范高是固定的,要是像变成1224的,拉一拉留点空、填充点内容不就可以了?控件大小不影响的。
总结: 只要按照官方给出的尺寸规范,不要去管设备的分辨率,即使你用500x500这样奇葩的分辨率,只要把状态栏设定成40导航栏设定成88然后切图,同样是可以适配的,因为APP适配要的是零散的切图素材,正确的分辨率单纯的只是为了视觉美观。
讲到这里,你还在纠结到底用多少分辨率的设计图吗?还在纠结怎么去适配ios?其实苹果设计团队都已经考虑好了。规范既然有,遵循规范必定事半功倍,而不是分辨率。