• iOS标注和适配


    很多项目一开始没有注意美术素材的规范,这在后期会引起混乱。假如有机会做一个新项目(旧项目会有自己的历史问题,一下子很难改过来),建议设计师和程序员一起坐下来。共同设立一套规范,之后共同遵守。

    下面说说我自己用的规范,并解释一下原因。

    界面名字

    每个界面需定出一个前缀。比如主页,前缀是 home,设置前缀为 settings,课程表是 lesson。

    定好前缀之后。设计师就可以建立文件夹:

    主页(home)
    设置(settings)
    课程表(lesson)
    课程概述(overview)
    共用(shared)
    之后将素材放到对应的文件夹下,这样就容易找了。假如很多界面都用到的素材,比如一些按钮之类,就放到shared目录下。

    设计师的英文似乎不是很好,他们的喜欢用中文命名,但是程序需要使用英文。假如一开始不约定好,程序员需要使用素材的时候,就很难跟设计师取的名字对应起来,往往会不知道素材放到什么地方。

    素材名字

    最终的素材名字,只使用小写字母和数字,单词的分隔用中划线 - 分隔起来,不同界面的素材前面加上对应界面的前缀。比如

    home-background.png
    settings-icon-email.png
    settings-icon-help.png
    shared-button-0.png
    名字使用对应的界面前缀,是为了知道素材原始出处。这样有问题了,可以找到原始文件重新导出。也避免了名字冲突。

    只使用字母和数字,中划线,是为避免出现中文、空格、标点、斜杠等特殊字符。在不同的系统上,字符编码会有所不同,而一些特殊字符会有特别的含义。中文或者特殊字符容易出些古怪问题。比如程序员写个脚本去统一拷贝、处理素材,中文或特殊字符就特别容易出问题。

    只使用小写字母,是为避免写错大小写。比如 Mac 系统,默认情况下对于大小写是不区别的,假如图片

    home-background.png
    错写成

    home-Background.png
    在模拟器中显示是没有问题的。而真机中名字是区分大小写的,这样模拟器跟真机的行为就不对应了。全部使用小写字母就直接杜绝了这问题。

    使用中划线 - 而不使用下划线 _ 分隔。是为了将来更好地搜索查找。工程中的程序变量的名字,不会出现中划线,只会使用下划线。当素材名字使用中划线,就可以跟程序变量名字区别开来,以后在工程中就容易搜索。

    这些名字规范,看起来简单,但可以杜绝很多问题。项目中,素材名字应该是设计师导出的时候就取好了,这样一旦需要修改,直接复制过来就行了。但现实中,我发觉设计师往往不会注意这些,经常需要程序员重新命名。这样修改起来就多了一个步骤。

    尺寸单位

    设计师往往使用像素作为设计单位,但是对于 iOS 来说。使用像素来思考是不好的,应该使用点(point)来思考。点和像素的区别,参考我的旧文。iPhone 屏幕适配,历史及现状

    比如

    iPhone 6,尺寸为 375 x 667 个点,2x 模式。
    iPhone 6 Plus,尺寸为 414 × 736,3x 模式。
    iPad,尺寸为 1024 × 768,有 1x 和 2x 模式。
    使用点为单位,容易跟程序对应起来。并且每个 iOS 设备,相同的点数,物理上的长度是差不多的。44个点,就是手机上导航栏,工具栏的高度,这样的思考方式可以大致估计到真实的物理长度。而用像素,容易使得做出的图片过大或者过小。

    当使用非矢量图片时,将点数乘以对应的 x 模式,就等于需要做的像素大小。

    当矢量工具来做素材的时候,应该直接做点那个尺寸。比如44 x 66 个点的按钮。就建立一个44 x 66的场景。之后再导出成 2 倍图,3 倍图,或者直接导出成 svg 的矢量图片。

    最终标注设计稿的时候,也使用点作为单位来标注。其实标注的时候,只要导出一个 1x 的预览图,就可以用工具来标注了。当 1x 的时候,点和像素就是直接对应的。

    设计尺寸

    手机 App 只需要一个设计稿,不需要设计多个。假如平板上的布局跟手机是不一样的,需要再出一个设计稿。假如是基本一样的,连平板的设计稿也不需要。比如微信的的 iPhone 版和 iPad 版,流程布局是一致的,其实只需要出一个 iPhone 的设计稿。

    设计的时候,选取一个现在最主流,你最容易获取的设备的尺寸来设计。比如现在 iPhone 最主流是 6 的尺寸,就选择

    375 x 667 点,2x 模式
    作为设计尺寸。之后整个设计稿就使用这个尺寸来设计,不要一时一个样。假如你是个人开发者,身边只有 5s,就使用 5s 的尺寸来设计。

    这样就可以将设计稿截图,放到手机中看效果。适配不能直接按比例放大或者缩小,假如你将 iPhone 6s 的设计稿,放到 5s 中看,图片按比例缩小了,但你看到的并非最终效果。

    标注

    设计师来标注?

    其实我自己觉得让美术标注,是浪费人力的。只要出个 1x 的预览图,再让程序员装个马克鳗、或Pixel Winch、或 PS,就可以让程序员来测量尺寸了。

    但很多程序员都会推卸责任,说标注是美术的事情。

    还是需要讨论一下如何标注。标注有主要有 3 种,颜色、字体、尺寸。

    颜色标注

    颜色应该先定义一个色板。比如按照下面方式

    [颜色色块] #bcbcbc。用于文字。
    [颜色色块] #ff8c0f。主色调,橙色。
    [颜色色块] #dddddd。主要用于列表项的分隔线颜色。
    其中[颜色色块],就是一个小色块,用来看颜色的预览。

    之后在设计稿的预览图中,就可以使用颜色编号来标注。这样标注比较清晰,一个项目中出现的颜色不会出现太多中,基本不会超过 10 种颜色。这样也容易跟程序对应起来,程序写这些界面,也需要定义一个色盘。这种方式也容易切换主题。比如白天模式和夜间模式。

    字体标注

    字体也应先定义出一个字体的字体盘,比如:

    系统字体,14号。主要用于文字的内容。
    系统字体,18号。用于文字的标题。
    等宽字体,14号。用于显示时间。
    之后在设计稿的预览图中,就可以使用字体编号来标注。一个项目的字体也不会出现太多,大概也就 5、6种。这样也容易跟程序对应起来。

    尺寸标注

    只需要标注一些不会变化的地方尺寸。比如按钮大小,边距、图标大小等,无论屏幕多大,都是固定不变的。而一些随着会拉伸的地方,就直接注明会拉伸。间距之类就注明,哪几个间距是一样的就行。

    有些需要等比例放大或者缩小的,就注明一个比例。

    标注就如同程序中的注释,并非越多越好。假如是可以看预览图就明白的,其实是没有必要做标注的。

    最后

    设计图只是参考,最终以跑到机子上的效果为准。设定规则的时候,需要大家一起参与制定,共同遵守,并解释好为什么需要这样做。

    其实我清楚,现实中的项目,是不会这样理想的。往往会相互扯皮,推卸责任。一个项目,需要一个了解设计和程序两方面的强有力的人来协调,并在有纠纷的时候可一锤定音。这个人就是所谓的产品经理。

    但现实中的产品经理往往是不了解设计,也不了解程序,并没有决策权,这种所谓的产品经理光有个名字,其实是没有什么用处的。而有了决策权之后,也需要承担义务,当决策错了的时候,最大的责任就在产品经理。而错的次数多了,这个产品经理就不能让人信服,也基本无什么用处了。

    作者:黄兢成
    链接:https://zhuanlan.zhihu.com/p/20565936
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    Kubernetes 1.5 配置dns
    详细图解,一眼就能看懂!卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别
    把C#程序(含多个Dll)合并成一个Exe的超简单方法
    TortoiseSVN 合并操作简明教程
    简单说说.Net中的弱引用
    漫谈并发
    可靠UDP设计
    自动内存管理算法 —— 标记和复制法
    Unity防破解 —— 加密Dll与Key保护
    Unity防破解 —— 重新编译mono
  • 原文地址:https://www.cnblogs.com/yfming/p/6028903.html
Copyright © 2020-2023  润新知