百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

iOS 人机界面指南精简版笔记之界面元素:Controls(上)

liebian365 2024-11-22 17:14 23 浏览 0 评论

最近仔细研读了苹果官网最新的设计规范。网上没有找到很满意的翻译版本,于是自己老老实实的啃了几遍官方文档,顺便把学习笔记输出给大家分享一下。

这里有几点要提醒一下大家:

  1. 这是简明笔记,只选了重点内容,不是通篇逐字逐句的翻译。想要全面了解的同学建议认真学习官方文档。
  2. 笔记没有完全按照官方的目录排序(官方二级目录按字母表顺序排列),而是根据重要程度、使用频率、相关性以及易混淆程度等,综合考量,重新排序
  3. 如果有疏漏和错误,欢迎找茬提意见~

基本界面元素包括三大类,分别是Bars(栏)、Views(视图)、Controls(控件)。今天是最后一期:Controls(控件)

往期回顾:

iOS 人机界面指南精简版笔记之界面元素:Bars

最近仔细研读了苹果官网最新的设计规范。网上没有找到很满意的翻译版本,于是自己老老实实的啃了几遍官方文档,顺便把学习笔记输出给大家分享一下。


iOS 人机界面指南精简版笔记之界面元素:Views(上)

iOS 基本界面元素包括三大类,分别是 Bars(栏)、Views(视图)、Controls(控件)。上一篇文章分享了 Bars(栏),今天给大家分享 Views(视图)部分。


iOS 人机界面指南精简版笔记之界面元素:Views(下)

iOS 基本界面元素包括三大类,分别是 Bars(栏)、Views(视图)、Controls(控件)。之前跟大家分享了 Bars(栏),以及具有模态属性的部分 Views(视图),今天分享视图部分的其他样式。


以下是正文。

Context Menus 上下文菜单

iOS 13 及以上版本支持上下文菜单功能,用户可以针对屏幕上内容进行额外操作,而不会导致界面混乱。

可以把这个功能理解为 Peek and Pop 的范围扩大版。也就是说,用户无需使用支持 3D Touch 的设备就可以和屏幕内容交互了。不过 3D Touch 设备的响应速度更快,因为系统通过感应按压力度即可响应,而普通设备需要长按才能唤出这个功能。

1. 呈现的操作功能应高频,且是针对屏幕内容的

例如针对一封邮件,「回复」或者「移动邮件位置」是有意义的,「设置格式」或「邮箱操作」就不合理了。如果呈现了太多操作选项,用户会迷失在其中。

2. 将最高频的操作置顶

用户的视觉焦点就在这片区域,用户找起来最快最方便。

3. 将操作分组

将操作依据类型进行区分,可以提高用户的浏览速度(原理:格式塔心理学),例如编辑类一组、分享类一组。但别超过三组。

4. 使用小图标

小图标帮助用户理解其功能,可以选用官方提供的 SF Symbols 图标也可以自定义图标。如果操作菜单包含子菜单,系统会自动在图标位置展示箭头,示意用户此处有附加操作。

5. 利用子菜单来控制菜单的复杂性

提供简洁直观的标题让用户秒懂,这样不用展开子菜单,用户就可以判断是否需要了。

子菜单一级就够了,再多就太复杂了。

6. 针对一个对象,上下文菜单和编辑菜单选其一

否则系统无法判断唤出哪个菜单,用户也会迷惑。

Edit Menus 编辑菜单

点击长按或者双击文本字段、文本视图、Web 视图或图像视图中的元素,即可出现编辑选项,例如「复制」、「粘贴」。

1. 针对当前内容展示合理的操作选项

例如,如果未选中任何内容,则菜单不应显示「复制」、「剪切」这种需要选中内容才能执行的操作。同样,如果已经选中内容,则菜单不应再有「选中内容」这个操作。

2. 支持复制选中的内容

用户可能希望将选中的内容添加到邮件、消息、搜索中,提供复制功能可以免去例如打一大串文字这种的繁琐操作。

3. 允许用户撤销操作

编辑菜单的操作是不需要向用户再次确认就立即执行的。提供撤销和重做操作,可以降低用户的犯错成本。

4. 自定义操作

可以扩展自定义操作功能。但在排序上,系统操作是在前面的(因为用户对系统操作更熟悉更顺手)。此外还要控制自定义操作功能的数量,避免给用户增加认知负担和操作成本。还要注意文案精简,尽量使用动词,使用英文的话记得首字母大写。

Segmented Controls 分段控制器

分段控制器包含两个以上分段按钮,彼此功能互斥,宽度等分,可以呈现文字或者图片。

分段控制器常用来切换视图。

1. 分段数量

按钮越宽越容易点击。在手机上分段不要超过 5 个,否则难以点击。

2. 按钮上的字数

尽量控制按钮上的字数大致相等,这样视觉上疏密一致,美观对称。

3. 按钮上使用文字还是图标

全部使用文字,或者全部使用图标都可以。但不要有的按钮上是文字,有的按钮上是图片。

4. 自定义外观

自定义外观时,确保文字对齐和可读性。

Page Controls 页面控制器

页面控制器是一排小圆点,个数代表页数,实心点表示当前页面,展示当前页面所处位置。

1. 翻页

可以通过点击页面控制器的头部或者尾部进行翻页,但小圆点不可点击。翻页只能按顺序来,不能跳过。页面之间是平级的。

2. 页数

不要超过 10 个。页面太多就要考虑换个版式了(我赌你不会想翻 10 页的)。小圆点如果太多是会被系统裁掉的。

3. 位置

居中放在内容底部或者屏幕底部。

Progress Indicators 进度指示

不要让用户傻傻等待内容加载或数据处理。使用活动指示器或者进度条,暗示用户 App 没有停止工作,而是在正常工作中,并且让用户知道还需要等待多长时间。

1. Activity Indicators

活动指示器在执行无法量化的任务时(加载或同步复杂数据)旋转,任务完成后消失。

活动指示器不可交互。

执行可量化的加载任务时使用进度条

相比活动指示器,进度条可让用户看到处理进度,以及还需要等待多长时间。

保持转动

不然用户以为 App 停止工作了。

提供有帮助的文案

在等待过程中可以提供一些有价值的信息,而不要使用模糊空洞的术语,比如「加载中」。

2. Progress Bars

进度条是一条从左到右填充的轨道,显示任务进度。进度条不可交互,不过可以在旁边放置取消按钮来终止操作。

在导航栏和工具栏中隐藏轨道的未填充部分。

默认情况下,进度条同时包含已填充和未填充部分。但在导航栏或工具栏中使用时(例如表示页面加载),未填充部分隐藏。

自定义

可以自定义进度条样式,来保证 App 内视觉规范一致。

Refresh Content Controls 内容刷新控件

内容刷新控件是活动指示器的一种特殊类型,默认隐藏,向下拖动需要刷新的内容后展示。

执行内容自动更新

不要让用户依赖手动刷新来更新内容,系统也要定期更新数据。

Labels 标签

标签呈现静态文本内容,无法编辑,但可支持将其复制。文本长度不受限制,但最好保持简短。

保持文本清晰易读

尽管可自定义文本的字体、颜色、对齐方式,但保持内容的可读性至关重要。建议支持动态类型,这样当用户更改设备上的文字大小时依旧可以保持文本清晰易读。另外还应该测试在启用辅助功能后的展示效果(例如文本加粗)。

相关推荐

[西门子PLC] S7-1200PLC中所支持的数据类型详解

数据类型呢,就是讲数据的长度和属性的,也就是指定数据元素的大小,还有怎么去解释数据。每个指令起码得支持一种数据类型,有的指令还能支持好多种数据类型。所以呀,指令上用的操作数的数据类型一定得跟指令支持的...

C语言wctomb函数详解:宽字符到多字节字符的「翻译官」

核心定位wctomb是C语言中用于将宽字符转换为多字节字符的「翻译官」,它能将单个宽字符(wchar_t)转换为多字节字符(如UTF-8编码的中文)。就像一位翻译官,它能将一种语言(宽字符)翻译成...

Python 中数组和列表之间的区别(python列表和c语言数组区别)

在这篇文章中,您将了解Python中数组和列表之间的区别。Python列表Python列表是一种内置数据结构,是包含在方括号[]的元素集合。它们具有许多独特的属性,使它们与其他数据结构不同。有...

Linux内核设计与实现—进程管理(linux内核原理与实现)

进程进程就是处于执行期的程序(目标码存放在某种存储介质上)。进并不仅仅局限于一段可执行程序代码(Unix称其为代码段,textsection)。通常进程还要包含其他资源,像打开的文件,挂起的信号,...

实际工程项目中西门子S7-1500如何批量读取和写入机器人信号

方法一:DPRD_DAT:读取DP标准从站的一致性数据该指令适用于中央模块以及DP标准从站和PROFINETIO设备。可以使用以下数据类型:BOOL,BYTE,CHAR,WCHAR,WO...

C语言mbstowcs函数详解:多字节字符串到宽字符的「翻译官」

核心定位mbstowcs是C语言中用于将多字节字符串转换为宽字符字符串的「翻译官」,它能将多字节字符(如UTF-8编码的中文)转换为宽字符(wchar_t)。就像一位翻译官,它能将一种语言(多字节...

C语言mbtowc函数详解:多字节字符到宽字符的「翻译官」

核心定位mbtowc是C语言中用于将多字节字符转换为宽字符的「翻译官」,它能将单个多字节字符(如UTF-8编码的中文)转换为宽字符(wchar_t)。就像一位翻译官,它能将一种语言(多字节字符)翻...

西门子PLC系列连载|No.5 初识西门子1200PLC数据类型

导语:在之前的文章中我们介绍了PLC的相关基础知识和一些小的程序段,也讲解过博途软件使用的一些基本方法。那么我们在本章内容将为大家讲解关于西门子1200系列PLC的常用数据类型,以及这些数据类型的区别...

计算机中常见的字符编码及存储方式

常见的字符编码ASCII、GBK、GB2312、Unicode等等常识用多个字节来代表的字符称之为宽字符,而Unicode码只是宽字符编码的一种实现,宽字符并不一定是Unicodechar窄字...

西门子SCL高级语言之数据转换介绍

(整数转浮点数INT_TO_REAL)我们在做项目中经常用到各种类型的数据,这就需要转换(CONVERT)指令来转换,由于博途数据转换指令只有它一个,那我们就只记住它就可以了,注意设置需要转换...

SCL编程语言学习(2)-启保停电路(起保停电路plc程序)

“启保停”电路是学习过程中最常见的一个案例,也是最简单易懂的控制程序。如果采用梯形图编程,如图1所示。在实际工程的电路中,很少有这么简单的起保停电路,一般都需要考虑急停、限位、过载保护等多项因素,启停...

GCC的常用编译选项(gcc编译工具)

GCC(GNUCompilerCollection,GNU编译器套件)是由GNU开发的编程语言译器。对于C语言源代码文件,使用GCC生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相...

「C语言」初始化数组,C语言中初始化特定列表和元素

如果没有显式地初始化数组变量,那么就会采用一般规则:如果数组具有动态存储周期,那么数组元素的值就是没有定义的。否则,所有的元素都会被默认地初始化为0(如果数组元素是指针,则会被初始化为NULL)。编...

C++11新特性(c++11新特性 lambda)

1、智能指针2、Lambda表达式3、线程库4、原子操作5、统一的列表初始化{}6、右值引用和移动构造7、引入nullptr指针8、类型推导auto和decltype智能指针:智能指针是一个...

西门子 S7-1200 PLC 数据类型详解

关注“PLC发烧友”,一起涨知识!回复:西门子全套,领西门子系列PLC电子资料包!数据类型用来描述数据的长度和属性,即用于指定数据元素的大小及如何解释数据,每个指令至少支持一个数据类型,而部分指令支持...

取消回复欢迎 发表评论: