3个方法+2个实例!教你快速掌握iOS14小组件设计

2023-12-02 02:20

本文主要是介绍3个方法+2个实例!教你快速掌握iOS14小组件设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

屏幕小组件是WWDC2020最值得期待的功能之一。小组件作为App的扩展,它重新定义了App如何向用户提供新动态,并让用户无需打开应用即可查看重要信息。

在本文中,将介绍设计小组件需要了解的内容,并为大家提供两个实际的设计案例。 

一、小组件的基本功能

小组件应该帮助用户避免执行重复的操作,所以小组件需要:

• 信息性:屏幕小组件的价值在于将更多信息传递给用户。如果小组件只是一个放大版的图标,它将没什么作用。

• 个性化:能够提供有助于与用户建立联系的个人信息。

• 内容化:更新小组件以提供相关信息(如果日历上没有待办,小组件会自动更新明天的摘要)。

1. 尺寸要求 

小组件分为大尺寸、中等尺寸、小尺寸。无论组件的大小如何,它都应该始终专注于一件事:根据App的主要功能提供相对应的信息。

2. 点击样式 

• 填充样式:用丰富的颜色和内容填充小组件,适用于链接到单个的内容。

• 单元格样式:每个可点击的单元格中包含不同的内容。

• 内容样式:内容在小组件中不受限制,每个选项都指向App中的不同位置。

简单来说,填充样式中只有一个“可点击目标”,而其他样式有多个点击目标。

3. 元素间距 

元素之间的距离是设计的关键方面。Apple建议小组件边缘留16t的间距,在带有图形的布局中使用更窄的11t边距。

4. 内容与个性 

设计小组件需要同时考虑内容和个性。可以从App的设计和图标中获得个性化灵感,使用熟悉的颜色和版式帮助用户建立联系。

内容布局可以在大小之间缩放,在不同的组件中具有不同的外观。日历小组件获得更多空间后组合了不同的元素。

随着尺寸的增加,天气小组件添加了更多拓展的信息。

二、小组件设计案例

了解完小组件的基本信息后,我们可以根据这些功能尝试构建专属的小组件设计。

1. 推特(Twitter)小组件 

大家对推特应该都很熟悉,作为一款社交类应用,有着很广的使用度。我们先从小尺寸开始,使用“填充”样式。

Twitter小组件提供了最新的信息,并随着时间的推移更新内容。与渐变背景相比,丰富的背景图增加了更多个性。

把这个小尺寸组件放大到中等尺寸、大尺寸会是什么样子呢?让我们一起来看看效果。

放大的组件占用了更多的空间,但是它们没有带来更多的信息,所以不会增加任何价值。

中等尺寸的组件有多个点击目标,我们可以在组件中包含更多元素。通过链接,每个标题都可以指向App中的不同位置。

上图是中尺寸两种不同的布局方式,整体来看还可以,但是字体的大小和圆角的统一还需要在调整。

调整了字体的行距和图片的圆角后,效果较之前提升很多。另外需要注意一定要适量增加圆角的弧度,过大的弧度会影响视觉统一。

最后是大尺寸组件的设计,采用“内容”样式,这是呈现效果:

融合了小尺寸和中尺寸组件的信息,又额外增加了新的内容。当然这不是唯一的设计方法,在实际设计中我们要根据App的特点选择最适合的方法。

2. 多邻国(Duolingo)小组件 

多邻国是一款语言学习类App,提供游戏化的学习体验。学习者通过保持连续性来赚取宝石购买解锁的物品。

在左边的小尺寸组件中,通过进度条的变化来显示学习的进度,激励用户坚持下去;中等尺寸的小组件显示了用户目前正在学习的语言,可以点击其中任何一种语言直接进入挑战。

三、需要额外注意的因素

1. 占位符 

当小组件处于非活动状态或数据无法加载时,Apple会显示占位符:

2. 可配置的小组件 

小组件允许用户对显示的内容进行一定的偏好设定,例如可以有两个时钟小组件,每个小组件显示来自不同时区的时间。

3. 功能辅佐 

确保小组件上的元素有足够的呼吸空间。如果用户在其设备上使用了大号的字体,那么小组件的字体也应该放大。

4. 通用布局 

不同尺寸的小组件需要不一样的排版方式,这里介绍三种通用的布局方式,可以以此为参考,结合具体的需求再拓展。

小尺寸组件的通用布局⬇️

中等尺寸组件的通用布局⬇️

大尺寸组件的通用布局⬇️

总结

这是开始设计一个小组件所需要了解的全部内容,希望能够为你带来新的灵感。

最后提供一些关于小组件的官方资源:

1.小组件-人机界面指南

developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/widgets/

2.设计出色的小组件

developer.apple.com/videos/play/wwdc2020/10103/

3.小组件UI套件

figma.com/community/file/857332868558500566

这篇关于3个方法+2个实例!教你快速掌握iOS14小组件设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/443594

相关文章

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶