十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1. 总体的样式
创新互联主要从事网站建设、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务谷城,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
从 iOS7 以后,Apple 就一直在采用扁平化的设计模式,去除了所有不必要的纹理和阴影等效果——和早些年间的版本完全不同。Google 的新 MD 设计规范有了一些更加细节的规定,通过一种叫“纸片”的方法来创造更多的层级关系。
2. 实体按钮
Android 有一个返回按钮,点击它可以返回上一个屏幕。
iPhone 上则没有这样一个按钮,所以需要有一种方式能够让用户回到先前的屏幕。通常的解决方案是在屏幕的左上角放置一个返回键。
08年的7月11号,当苹果发布iPhone3G并推出AppStore和iOS开发SDK之后,iOS开发正式出现了。随着iPhone的热卖,App作为移动互联网的入口凸现了它的巨大价值,无数创业团队开始纷纷开发自己的App,iOS开发的身价也是水涨船高。由于苹果提供了完善的开发工具和健全的App市场,App的设计与开发只能按照苹果的标准来,所以 320X480 的尺寸成了设计师们设计App的标准尺寸。
这个标准到2012年发布iPhone5之前一直是金科玉律,设计师无须关心什么是px(pixel),什么是pt(point),原因是早期的iPhone中,像素和点是对等的;后来虽然有点小插曲出了retina屏幕,设计师设计时也只需要把原来的尺寸放大一倍即可,开发人员会默认缩小一倍做开发。可以说苹果当时是非常照顾开发和设计人员的,即使升级了retina屏幕,开发和设计之间的默契马上会自动达成。但这也给之后埋下了隐患。
iPhone4s是乔布斯的遗作,但它也可以看作是小团队开发iOS应用浪潮中泡沫的分水岭。
之后问题开始慢慢暴露了。首先是iPhone5变长了,当时我们都挺惊讶的,连忙去确认了尺寸,发现屏幕从{320,480}变成了{320,568}。有经验的iOS开发通过动态计算屏幕高度马上解决了这个问题。然后,开发同学和设计同学沟通好,把效果图和标注图的尺寸改成了{640,1136}。这次苹果的改动其实并没有影响原来开发的方式和设计的原则,所以可是说是虚惊一场。
但是好景不长,iPhone6和iPhone6 Plus出现了,苹果第一次在一场发布会上发布2款不同尺寸的手机。这时候,iOS攻城狮心中是一群草泥马在万马奔腾。从那时起,开发和设计之间的问题就彻底暴露了。
当然,苹果也给了一个万金油的方案,如果我们什么都不改,App会在iPhone6和iPhone6 Plus等大屏手机上自动等比放大展示。作为企业级的App,怎么能容忍放大版的App在iPhone6 Plus上显示呢(因为它真的很大)。然后,我们给不同尺寸的机型补上了不一样的启动图(示意图如下)。
验证完所有需要支持的iPhone机型,我们得到了4种不同的屏幕尺寸,分别是{320,480},{320,568},{375,667},{414,736}(示意图如下)。
开发同学一看到需要给App开发4种尺寸时,一开始的心态是闷逼的。设计人员也纳闷到底拿哪个尺寸做效果图呢。因为都没有经验,一开始我们继续让设计师用{640,1136}做标注图,这样我们结合屏幕的宽度和高度,可以很快的调整好不同尺寸下的布局。
随着iPhone6和iPhone6 Plus的大量普及以及高端Android手机市场份额的提升,之前{640,1136}做的效果图在真机上展示很不理想,于是设计师们把效果图的设计尺寸改成了{750,1334},而且还考虑用{1080,1920}做效果图。一般设计师们都是在效果图上直接做标注,由于效果图尺寸变成了{750,1334},我们iOS开发拿到标注图的尺寸也变成了{750,1334}。然后,开发拿着px做各种换算,碰到了各种奇怪的问题,做出来的页面和效果图的差距总是很大。我列举下几个常见的问题:
其实,当设计师用小屏幕的规范去设计大屏幕时,设计稿已经出问题了。比如在小屏幕的时候,定义了最小字号为9号,9号字在PS上{750,1334}的设计图起来还可以,但在真机retina屏幕上看起来就很小,视觉落差特别大。设计师一看效果不对,就让开发加大字号;字号变大后,小屏幕的字体就感觉特别大,然后让开发分屏幕对待,小屏幕不变,大屏幕加大字号;开发拿着{750,1334}尺寸的px标注图,总感觉之前除以2后的宽高在小屏幕上显示不对,于是又用(屏幕宽度/320)搞了个比例系数,而且将错就错的在所有的宽高上乘以该系数。
然后在敏捷开发的团队里,设计师和工程师都开始怀疑人生了。设计师总感觉设计稿和真机效果差别很大,工程师总感觉实现的跟标注图不一致。最后只能通过海量的微调来达到看起来差不多的效果。
说到现在,我们差不多明白问题出在哪里了。
首先是设计师的设计规范需要修订了,之前用在小屏幕上的设计规范不能生搬硬套在大屏幕上,需要重新修订设计规范,兼顾小屏和大屏。
然后是工程师需要更加深入的了解iPhone的渲染机制了,否则px和pt会搞得傻傻分不清。有朋友会说,px和pt怎么会搞不清楚呢,1pt在iPhone6(包括iPhone6s)之前都是2px,在iPhone6 Plus和iPhone6s Plus上是3px。但是当你做出来的效果总是跟设计师的标注图不一样时,你是不是会怀疑自己实现错了。当你觉得设计师标注有问题时,你又怎么说明缘由然后告诉设计师一个误差较少的方案呢?你要明白设计师现在以不再是单独为iOS开发做设计了,还要兼顾Android和H5页面。
所以,我们需要静下来好好研究下iPhone现在是怎么渲染的,然后找到一个靠谱的方案让设计师对标注图做调整。
在iOS开发中,point是抽象单位,它只在iOS系统给我们抽象出来的数字坐标系中有意义,与pixel没有直接的关系。之前我们常说1pt等于2px,1pt等于3px,这些等式之所以成立是因为我们无意识中都给等式加了一个附加条件,那就是在某种机型下。所以之后的机型说不定就有1pt等于4px,1pt等于5px的情况。
当我们在数字坐标系中绘制完界面后,iOS系统就开始在内存中渲染适合当前手机屏幕的页面尺寸,这个时候,渲染的单位就是pixel了。用基于点的图形使用像素进行渲染,这个过程叫做光栅化。像素坐标系是通过点坐标系乘以一个比例因子来获得的。比例因子越大,屏幕的像素密度越大,现实效果就越好。而我们常说的1倍、2倍、3倍就是比例因子。
但是在iPhone6Plus中,屏幕的物理像素只有{1080,1920},而内存渲染的像素却是3倍的点坐标系{1242,2208}。为了正常显示,iPhone6Plus在显示的时候做了一个 缩减像素采样 (downsampling)的操作。现在我们明白iPhone6Plus的屏幕分辨率为什么不是3倍了。
为了证明iPhone各种机型上渲染的像素是不同的,我们来比较下1个点宽度的线是怎么渲染的。下面是示意图:
这个缩放比率是 1920 / 2208 = 1080 / 1242 = 20 / 23。这意味着iPhone原始渲染的过程中,每23个渲染像素必须映射到20个物理像素上。换句话说,图片被缩放到了大约只有原始大小的87%。
下面,我们从宏观的角度来看看不同的iPhone机型是怎么适配的。请看下图:
搞清楚iPhone的渲染机制后,我们也知道了如何让设计师调整标注图了。之前,设计师为了兼顾Android和H5页面的效果图,把效果图大小调整为{750, 1334};考虑到工作量,设计师会在效果图上直接出标注,按照之前的约定默认的单位就px。对于开发人员,拿着{750, 1334}单位是px的标注图,他的第一反应是这是iPhone6的标注,iPhone6 plus和小屏的标注只能自己算了。下面我们拿左边距15px做例子:
这么算下来,感觉pt总是算不对。问题出在 不同手机屏幕上相等的视觉长度它们的像素是不同的 ,所以渲染15px的左边距,不同手机上的视觉边距都不一样。如果想在不同手机屏幕上让左边距看起来都一样,我们必须使用pt为单位,原因我们在上面介绍iPhone渲染机制中已作了说明,这里不再赘述。
其实,设计师关注的点也就是标注的内容在不同手机屏幕上显示的效果一样,比如左边距。对于特殊的适配情况,设计师自然会给不同分辨率下的标注。而之前的原因出在我们开发人员没有向设计师解释清楚 不同屏幕上渲染相等的视觉长度,像素是不一样的,但渲染的point是一样的 。后来,我们换成了pt作单位,绝大多数实现不准确的问题都被解决了,对于定高定宽的情况,标注时也做了特殊说明,而且也都换成了相对布局的方式进行标注;最后,拿一张我们最近的标注图做示例。
终于写完了,感觉自己文笔有限,语句多不通顺,但你要明白一点, 不同手机屏幕上渲染相等的视觉长度,pixel是不一样的,但渲染的point是一样的 。希望这篇iOS标注解惑能让你了解pixel和point本质的区别。最后欢迎大家积极回复留言,交流心得。
加上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+个,真正实现了大屏幕显示更多内容的理念。这些就需要设计师给出相应设计稿。
Sketch是专门为Mac的ios开发的一款矢量图形绘制软件,关于这款软件介绍如下:
1.Sketch是一款界面优美,功能强大的图形绘制软件。在Sketch软件中,ios开发者可以十分方便地设计图层面板等图层常用操作,普通用于产品的交互设计和UI设计。
2.Sketch为开发者提供了许多使用的功能。如多层式填充绘制,渐变绘制,噪点绘制,混合模糊绘制等视图设计中常用的操作。另外,Sketch与其他绘图软件不同的是,它还提供通过布尔运算来将多个简单形状混合更为复杂的形状。这在一定程度上增加了开发的可扩展性。
3.Sketch这款软件的主旨是为了给广大产品界面和UI设计师一个简洁实用的创作平台。因此许多公司的界面开发者往往选择使用Sketch进行开发工作,而不是Photoshop,illustrator这类软件。
扩展资料:
1.Sketch 的画布尺寸是无限的,可以向任意方向无限延伸,你将拥有绝对的自由来规划自己的创作区域。
2. 如果想在画布中设置一个固定的画框,只需新建一个或多个新的画板。举个例子,设计移动应用界面时,很多设计师会为应用的每一个屏都创建一个画板,然后排列开来以便查看。
3.Sketch允许用无限精准的分辨率无关模式来查看画布,或者打开像素模式来查看每一个像素导出成JPG或者PNG文件后的样子。值得注意的是,有些效果——比如模糊——会自动将画布的一部分以像素模式显示,因为模糊本身就是一个基于像素的效果。
参考资料来源:百度百科-Sketch
6plus
分辨率:1242x2208
PPI:401
状态栏高度:60px
导航栏:132px
标签栏:147px
我是一个UI设计,回答你其中一点。标注是不能出现小数点的,一定要是2的倍数,甚至最好是6的倍数,这样开发才能很好计算。