sketch里的ios控件_使用Sketch建立Design System

一、 有关Design System

之前的文章《使用Adobe XD建立Design System》中介绍了什么是Design System,它有什么用,在设计的哪个阶段使用以及如何用Adobe XD来搭建。这篇文章主要侧重在UI风格已确定的设计后期,用Sketch工具来搭建一个Design System。

二、如何使用Sketch搭建Design System?

一个基本的Design System包括颜色库,字符样式库,图标库和组件库。我们依旧使用Music App的例子介绍如何用Sketch创建这些库。Music App的UI已确定,如下所示。

de25d2e12b9a3d7ce729d37d7364d5cd.png

STEP 1: 创建颜色库

首先创建一个正方形,选择UI稿中的颜色值,点击右边栏的外观面板中的创建按钮,

323ccdeda5ed747d7fa36e4e3f1aa498.png

为此外观命名,因为是颜色库,因此都以Color开头。这个设为主色,因此命名为Primary1,名字中间的“/”将颜色库自动生成树状层级结构,如果有多个“/”就有多级层级结构。这个规律适合所有的外观和组件的创建。

149f4dfdae05b6f262101607f1f09794.png

按回车键后就创建好了一个颜色外观。

36074b71e7b516c4ca5b6dddd37580f8.png

可在左边栏的组件页签>颜色tab下查看到已建好的颜色。

0dd5995d607055fe18804b28bfd916ae.png

为所有要用到的颜色建立外观,建好的颜色库如下所示。因为设计会用到20%半透明度的Primary3颜色作为专辑封面的有色半透遮罩。因此将其命名为Color/Primary3/20%,而将完全不透明的颜色命名为Color/Primary3/100%,之后在左侧的颜色库中可看到Primary3下又分成100%和20%两个层级。像上面所说的,层级通过用“/”命名即可实现。

278048c48cf7a26db090a7d10af86921.png

可在左边栏的组件页签>颜色tab下查看到已建好的颜色。

a51f85d20565ac9905f86eed88ae4bef.png

因为UI稿上输入框和按钮控件都有1px描边,也需要加入到外观库中。

de25d2e12b9a3d7ce729d37d7364d5cd.png

在当前图层上画一条1px宽的线,颜色选择Primary1的颜色。点击外观中的创建。

023a47562617fefb52ba8220e3ba5eb1.png

描边样式区别于填充样式,采用Line开头,因为颜色是Primary1,因此命名为Line/Primary1。

59ab492a262ecff23f22fa0f2ef9e695.png

按回车就建立好了描边样式。

eab23b54ede8eaeb62b488abd5ee6bd0.png

我们在当前图层建立一个新画板Design System,把所有的填充颜色和描边颜色都放在一起,便于未来集中管理。至此,颜色库就搭建好了。

4a36afc3aad2aa47ff58c8d6fd335e5d.png

STEP 2: 创建字体库

选中UI稿上的文字,点击右边栏的外观面板中的创建按钮,

c20d23c766e33377d09329dc275afe61.png

为此外观命名,因为是字体样式库,因此都以Typography开头,命名为Typography/Title1,按回车。

3828a96ea78c3822532aca0d265f4a6c.png

按回车键后就创建好了一个字体样式外观。

d759b601d775e43057309b560993fcd2.png

可在左边栏的组件页签>文本tab下查看到已建好的字体样式。在当前图层中也置入一个外观为Typography/Title1的文本,文本内容改为Title1,便于集中管理所有的字体样式。

68cc43a4c891e1478d17c8703e16ebab.png

为所有要用到的字体样式建立外观,建好的字体样式库如下图左边栏所示。

611b35451908840f2434858eee2c890d.png

我们把所有的字体样式也放入Design System画板中。至此,字体库也搭建好了。

1a49c0b76dafea3ee0781eb294c38c97.png

STEP 3: 创建图标库

首先选中UI稿上的Email图标,

86ce86220e0cd6caa4c314a2ec2bc6d0.png

选中Email Icon图标实体后,在右侧的外观选择Color/Dark,这样颜色外观的属性就会附着在Email图标上,以后置入Email图标副本时可以随时选择库中其他的颜色外观。

3fe5cdb12b4125c1bdb3aeca8f77c30a.png

选中Email图标,点击上方工具栏的“创建控件”,

8fa9160b0ebf2aca03b25b5848d7329a.png

选中Email图标,点击上方工具栏的“创建控件”,因为是图标库,因此都以Icon开头,命名为Icon/Email。如果勾选“发送控件至控件页面”,则图层tab下会新增“控件”图层,新建的图标或控件都聚合在此图层上。如果不勾选,则控件会在当前图层页生成。此例我选择不勾选,这样控件和UI都在一个页面,方便改控件的同时就能看到UI同步改变了,达到所见即所得的效果。

b3730fc23dd48b3d75bc670c48ae5a34.png

所有的控件都可以在左边栏组件页签>控件库tab下找到。把所有控件都移动到Design System画板上的Icon栏,至此图标库就创建好了。

8b0b02c9c9c90e1dba67ead5042647c9.png

STEP 4: 创建控件库

基本控件是由形状、颜色库中的颜色和字体样式库搭建而成,复合控件是由若干基本控件+形状+颜色+字体样式组合而成。通过这种方式创建的基本控件和复合控件,可以通过只修改Design System里的颜色、字体和形状等,就可以改变所有控件的样子和UI页的样貌,非常高效!我们刚创建好的图标就是一种基本控件。现在来看看如何创建复合控件。

在UI稿中选择要添加为控件的输入框。

deaf5574167bf3f2df695265d485b29f.png

将输入框的组成元素分别重命名,这样做成控件后,复用时覆盖的字段名就是这些名字。这么做是为了以后复用时理解更高效。后面还会再阐述这一点。

6e5ece23d15ea6313c7000e995c55dfc.png

选中Label,在右侧外观面板选择相应的字体样式Typography/Caption1。

2511b799a9bd17d9dcad787b3b83c57b.png

置入Icon/Email,替换原来的Email图标。

e053de107bbc6bd0464df8a8da81d8f6.png

选中Border,在右侧外观面板选择相应的描边颜色Line/Primary1。

73950d96f5b3f68ea22ca24c4105f082.png

选中Background,在右侧外观面板选择相应的填充颜色Color/White。

f3e91af889c444d4e5e6ed4320fd12d4.png

最后把Icon/Email重命名为Icon。选择输入框整体,点击上方工具栏的“创建控件”。因为是控件类,所以以Component开头,命名为Component/InputBox。

3ceb4e74ce9361b3a5f6e0e1b1e66a75.png

把创建好的InputBox移动到Design System的Component栏。

76f93fa6e50bebe0796134cbd31f162b.png

按此方法创建其他控件。至此,控件库就搭建好了。

973e8c4300968c01cb7d3c7ec28cc5f7.png

下图是Design System的全貌,我们把它和UI页面并排放置。

310f8646556f49654515ac69ae99cb72.png

STEP 5: 用搭建好的Design System的元素替换UI稿上的所有元素

STEP 5.1: 用Design System中定义好的颜色应用于所有UI页上非控件类且非字体类的元素的颜色。例如选中Log In页背景“BG”,然后在右侧外观面板选择Color/Primary3/100%,之后一但调整Primary3的颜色,“BG”的颜色也会同步变化。用这个方法处理完所有这类元素。

07ec68f56a499e3a258c92d399a8ea38.png

STEP 5.2: 用Design System中定义好的字体样式应用于所有UI页上的字体类元素。例如选中List页的“Daily 30 Songs”,然后在右侧外观面板选择Typography/Title1。之后一但调整Title1的样式,“Daily 30 Songs”的样式也会同步变化。用这个方法处理完所有这类元素。

216ecbaf9b4c506c079ce07146d002f4.png

STEP 5.2: 置入Design System中已定义好的图标(Icon),替换所有UI页上的图标类元素。因为此例中Icon主要都是内嵌于控件的,所以这步就可以省略了。

STEP 5.3: 置入Design System中已定义好的控件(Component),替换所有UI页上的控件类元素,再进行修改。我们用密码框举例。然后用此法处理完所有UI上这类元素。

菜单“置入”>“(控件)文档”,选择Component/InputBox。

1596cf790c3b87a33883a1c14655e58a.png

置入后的样子如下,得改造成密码输入框应有的样子。

2f6871173501d5381c5ffd699d669ed2.png

改名为Password Input Box,保持选中态,右侧会出现覆盖层面板,然后把文本改写成password,图标替换成Icon/Password即可。面板中的Label,Icon,Border,Background小标题,就是本文前面提到的在创建控件前给每个图层重新命的名字。由此可见好的命名,让修改覆盖层变得更加简单。

42f785a6de29097252c1ea2011f507ce.png

最后将Icon/Hide置入,替换原来的Hide图标。

42af26d781d117ffb3eb556639276a7a.png

三、利用Design System高效改变UI

如果未来需求有变化,例如希望UI变成粉色调,字体再夸张活泼些,大圆角变成小圆角。面对这种变化,如果没有Design System就需要一个个页面调整,费时费力。而有了Design System,只需要调整Design System面板上的颜色、字体、控件等元素,就可以同步修改所有UI页面,省时省力。

STEP 1: 修改颜色。

选中Design System面板下Color栏的一个颜色,然后调整成粉色。此时外观面板下的Color/Primary2右上角会多一个“*”代表颜色有改变,此时点击下方的“更新”按钮,确定将Primary2的颜色调整为粉色。

ac2191fcedf66e6ceb0a05e433088cd6.png

点完“更新”后,会发现Design System面板和UI稿上所有应用过Primary2的地方,全都变成了粉色。

0d089cdba444b32e6bfbf55c6633f1fd.png

用这个方法把Color下的所有颜色调整为粉调。然后把Typography中的所有字体重新选择Color中的已有颜色,并进行“更新”外观操作。最终结果如下:

ae403fe256f08dc43ac8f27d6e7c9291.png

然后将Component栏的输入框和按钮控件的圆角半径改小为8px,改后不用更新,立即生效。

3b89d96f399fcf67712f2deb64f7ad1d.png

最后将Title1和Title2的字体样式改为Fertigo Pro,其他字体样式改为Brandon Text,更加活泼俏皮一点。最后效果如下显示:

1df1f1b2d9dde4da53a8792375c6fb73.png

对比下前后UI稿,是不是变化还不小~

6cbe8137e101e8d39e99d15f72687914.png

四、结语

我们用Sketch为Music App搭建了一个Design System,接下来可以用它去为Music App快速输出更多新页面。虽然创建的过程比较耗时耗力,但是这是一件一劳永逸的事情。即使以后做全新的项目,也可以在旧的Design System基础上进行改造,变成全新风格和元素,再搭建新页面。这样做也比每次都从零做起做UI要快很多。希望本文分享的方法可以加速大家的UI设计进程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论好文章和烂文章

简介: 我们为何写作?对于许多技术同学来说,写作是一件比写代码困难许多的事情,和电脑相顾无言数小时,发现自己写不出什么像样的东西来,着实不是一种很好的体验。 作者 | 许晓斌 来源 | 阿里巴巴云原生公众号…

好代码实践:基于Redis的轻量级分布式均衡消费队列

简介: 好代码,给人第一个印象的感觉,就像一篇好文章一样,读起来朗朗上口。不同的文章有不同的风格体裁,不同的代码也有不同的编程风格要求。Python有严格的缩进,像诗歌一样工整对仗;C语言面向过…

浅析低功耗广域网及在智慧城市中的应用

作者 | 沈建华、冷咏雪根据知名物联网分析机构IoT Analytics预测,到2025年,物联网连接数将达到非物联网连接数的3倍。低功耗广域网(LPWAN)作为物联网连接的核心基础设施,其业务特点是发送数据极小,并且为了维持电池供电设备的长时…

rocketmq怎么保证数据不会重复_RocketMQ保证信息有序性和防止重复

分布式开放消息系统(RocketMQ)的原理与实践分布式消息系统做为实现分布式系统可扩展、可伸缩性的关键组件,须要具备高吞吐量、高可用等特色。而谈到消息系统的设计,就回避不了两个问题:java消息的顺序问题消息的重复问题RocketMQ做为阿里开源…

云效Codeup代码评审中的代码协同

简介: 云效 Codeup 汇集了阿里巴巴最新的代码托管、代码协同技术,希望能够造福更多中国和世界的开发者。 大神说:“Show me the code”,于是就有了代码评审。 “Talk is cheap. Show me the code.” ——Linus Torvalds, founder …

代码安全无忧—云效Codeup代码加密技术发展之路

简介: 从代码服务及代码安全角度出发,看看云效代码加密技术如何解决这一问题 代码数据存在云端,如何保障它的安全? 部分企业管理者对于云端代码托管存在一丝担心:我的代码存在云端服务器,会不会被泄露&…

杀死 Oculus ,Facebook 改名 Meta ,是押注元宇宙还是“金蝉脱壳”?

整理 | 祝涛出品 | CSDN(ID:CSDNnews)美东时间10月28日周四,在名为Facebook Connect的年度大会上,Facebook宣布,Facebook将公司名称更改为“Meta”,这个新名字反映了该公司在社交媒体之外的雄心…

java sdp_[java,SDP] java 7 SDP 技术/Socket Direct Protocol 2

With Java 7 and Sockets Direct Protocol , Java Now does RDMA ( Remote Direct Memory Access)有了 SDP 技术支持之后的 Java 7 已经开始逐步实现 RDMA 技术 (远程内存直接访问)RDMA is Remote Dynamic Memory Accesss -- which is a way of moving application buffers bet…

百信银行基于 Apache Hudi 实时数据湖演进方案

简介: 本文介绍了百信银行实时计算平台的建设情况,实时数据湖构建在 Hudi 上的方案和实践方法,以及实时计算平台集成 Hudi 和使用 Hudi 的方式。 本文介绍了百信银行实时计算平台的建设情况,实时数据湖构建在 Hudi 上的方案和实践…

如何做一场高质量的分享

简介: 每个人在分享前都应该先问自己这么一个问题,我为什么要分享?我觉得分享就一个最纯粹的原因,就是“我有一些知识,是别人不知道的,但对他人会有所帮助,所以我想分享给大家”。 作者 | 阿相 …

RTE2021,实时互动技术的进化与蝶变

10 月 22—23 日,由声网 Agora 主办的 RTE2021 实时互联网大会在北京圆满落幕。大会以“万象频道”为主题,带来了 20 余场实时互联网全生态线下论坛及活动、近百场的精彩演讲分享,覆盖技术开发、行业观察、创业投资、趋势洞察等多维度话题。同…

Java编程技巧之单元测试用例编写流程

简介: 立足于“如何来编写单元测试用例”,让大家“有章可循”,快速编写出单元测试用例。 作者 | 常意 来源 | 阿里技术公众号 温馨提示:本文较长,同学们可收藏后再看 :)前言 清代杰出思想家章学诚有一句名言&#xff…

KubeVela + KEDA:为应用带来“与生俱来”的弹性伸缩能力

简介: 在这篇博文中,我们将简要解释需要考虑的领域,KEDA 如何使应用自动伸缩变得简单,以及为什么阿里云企业分布式应用服务(EDAS)在 KEDA 上完全标准化。 联合作者 | Yan Xun,阿里云 EDAS 团队…

mysql行转列函数_一个小知识点-Hive行转列实现Pivot

前言传统关系型数据库中,无论是Oracle(11g之后)还是SQLserver(2005之后),都自带了Pivot函数实现行转列功能,本文主要讲述在Hive中实现行转列的两种方式。传统数据库方式这种方式是借鉴在Oracle或者SQLserver在支持Pivot函数之前实现行转列的方…

安全之心:一文读懂可信计算

简介: 信 or 不信,这是个问题 可信计算 TC (Trusted Computing) 业界新宠,越来越被高频提到 本质是创造可信执行环境的芯片级安全防护方案 然而,江湖流传 TA 的传说 却鲜少有人见过真身 阿里云作为亚太区最…

国内顶级AI赛事再启程,第三届“中国人工智能大赛”聚焦算法治理、深度伪造与网络安全

本届大赛赛题分为算法治理、深度伪造和网络安全三大方向的七大赛题,分别是:过滤算法鲁棒性、深度伪造视频检测、深度伪造视频生成方法识别、基于人工智能的音视频合成比赛、说话人无关的音频深度伪造检测识别、说话人相关的音频深度伪造检测识别、Webshe…

看阿里云如何用云上技术创新,帮助哈啰单车实现智能数据收治

简介: 客户通过把日志数据迁移到SLS,替代原有的kafka、ES、ClickHouse,累积节省成本达到30%,同时满足了稳定性、扩展性需求,以及对日志查询分析的需求。 更多存储标杆案例 欢迎点击下方链接查看 阿里云存储标杆案例样…

快进键启动,一文带你了解云原生时代容器安全

简介: 分享阿里云容器安全的治理能力与经验,致力保护生产环境安全。 都说国内需求离容器化还远,更谈不上关注安全,喊的热闹而落地困难。但总得有些声音面向未来向前看。 在2020年Forrester IaaS安全评测中,阿里云容器…

Serverless:这真的是未来吗?(一)

简介: 希望这些博客文章能帮助您在所有相关人员中展开讨论,就最佳业务方案达成一致。该课程可能涉及无服务器,也可能不涉及。在这第一篇文章中,我们将考虑在讨论无服务器时最常见的几个问题。在第二篇文章中,我们将研究…

无限级分类限定层级_王者荣耀:s20战令该不该买?战令限定星元皮肤实测真香...

王者荣耀:s20战令该不该买?战令限定星元皮肤实测真香Hello大家好,我是游戏鲪,很高兴见到大家。如今这个赛季的战令系统早已结束,新赛季也即将到来。许多小伙伴都在憧憬下个赛季的战令。关于s20赛季的战令奖励&#xff…