一说到组件,大部分初级设计师和中级设计师的脑海里只会蹦出弹窗、Toast及操作列表等具体的概念,没有一套属于自己的组件分类体系,这样对于视觉设计、交互设计或产品设计的系统学习来说都是不利的。

iOS14概念设计

iOS官方设计指南在介绍组件时是按照组件的属性来分类的。组件的中文翻译名称可能会有很多种,并没有一个权威、准确的中文命名。设计师在设计前只需要清楚每个组件名对应的组件是什么就可以了。

iOS14概念设计

由于iOS和Material Design的组件体系有些不一样,因此关于组件的分类体系笔者会按照iOS和Android这两大系统进行拆分与讲解,而今天数艺君要讲解的是iOS系统的组件体系。

对组件可以按照两种维度来进行划分:一种是按组件的属性来分,另一种是按组件的功能类别来分。

iOS系统组件的分类如下图所示。

UI栏(UI-Bars)

UI栏包含的组件有导航栏、搜索栏、状态栏、标签栏、工具栏及范围栏。

1. 导航栏

导航栏能够实现在不同信息层级结构间的导航,有时也可用于管理当前屏幕内容,如下图所示。其中,Parent Title为上一级的标题,Title为当前视图的标题,Edit为操作控件。

使用规则:一般来说,导航栏上的元素不外乎3种,即当前视图的标题、返回按钮和针对当前操作的控件。

2. 搜索栏

搜索栏可获取用户输入的文本,并将其作为搜索的关键字(下图中显示的文本为占位符,而非用户输入文本),如图a和图b所示。

使用规则:搜索栏包含的元素有占位符文本和“清除”按钮。占位符文本通常会写明控件的功能(如图a中所显示的“Search”字样),或者提示用户输入的文本将在哪里搜索。大多数搜索栏都会提供“清除”按钮(如图b中右侧所示的按钮),方便用户一键清空输入内容。

3. 状态栏

状态栏展示了关于设备及其周围环境的重要信息,如下图所示。

使用规则:①通常为透明样式;②始终固定在整个屏幕的顶部。

4. 标签栏

标签栏方便用户在不同的子任务、视图和模式中进行切换,如下图所示。

使用规则:①始终出现在屏幕的底部;②一个标签栏最多可承载5个标签,多于5个标签时展示前4个标签,并将其他的标签以列表形式收纳到“更多”标签里面;③ 无论是在横屏还是竖屏情况下,标签的高度均保持一致;④标签栏位于屏幕底部,并应保证在应用内任何位置都可用;⑤在标签栏中展示的图标和文字内容都应保持等宽状态;⑥当用户选中某个标签时,该标签会呈现为高亮状态。

5. 工具栏

工具栏用于放置操作当前屏幕中各对象的控件,如下图所示。

使用规则:在iPhone系统界面中,工具栏始终位于屏幕底部。而在iPad系统界面中,工具栏则有可能出现在屏幕顶部。

6. 范围栏

范围栏只与搜索栏一起出现,主要方便用户定义搜索结果的范围,如下图所示。

使用规则:①当界面中出现搜索栏时,范围栏会出现在搜索栏的附近,且范围栏的外观与所指定的搜索栏的外观兼容;②当用户想在明确的分类范围内进行信息搜索时,使用范围栏虽然非常高效,但是还有一个更好的选择,那便是优化搜索结果,如此可以让用户不需要使用范围栏对搜索结果进行筛选就能找到他们所需要的内容。

UI视图(UI-Views)

UI视图分为临时视图和内容视图。

1. 临时视图

临时视图包含的组件有警告对话框、操作列表、模态视图、活动视图控制器及浮出层。

(1)警告对话框

警告对话框是传达应用或设备处于某种状态的组件,如下图所示。

使用规则:①警告对话框的基本规则为标题必选、描述信息可选、输入框可选、按钮必选(可包含一个或多个按钮);②警告对话框的样式通常都是圆角白框样式,且带磨砂效果,不可更改。

(2)操作列表

操作列表是当用户进行某项操作时出现的浮层,其显示的内容为与用户触发的操作直接相关的一系列操作选项。

操作列表方便用户在开始一个新任务或进行破坏性操作(如删除、退出登录等)时进行二次确认。使用操作列表开始一个新任务这种操作在iOS原生的邮箱中应用得比较多,如下图所示。

使用规则:①由用户的某个操作行为触发;②包含两个或两个以上的按钮。

(3)模态视图

模态视图是一个以模态形式展现的视图,它为当前任务或当前工作流程提供独立的、自包含的功能。

当用户需要完成与APP中的基础功能相关且独立的任务时,设计师可以使用模态视图。模态视图特别适用于那些所需元素并非常驻在APP界面中但又包含多个步骤的子任务,如下图所示。

使用规则:①可能占据整个屏幕,也可能占据整个父视图(Parent View)的区域,或者是屏幕的一部分;②包含完成当前任务所需的文字和控件;③包含一个“完成任务”的按钮(点击后即可完成任务,同时当前模态视图消失)和一个“取消”按钮(点击后即放弃当前任务,同时当前模态视图消失)。

(4)活动视图控制器

活动视图控制器是一个临时视图,其中罗列了一系列可以针对页面特定内容的系统服务和定制服务,如下图所示。

使用规则:①由用户的某项操作行为触发;②主要用于当前界面或图片信息的分享。

(5)浮出层

浮出层是当用户点击某个控件或页面中的某一区域时浮出的、半透明的临时视图组件,如下图所示。

使用规则:①浮出层是一个自包含的模态视图;②在横屏状态下,浮出层会包含一个箭头,并指向其出处;③背景是半透明的,并且会模糊其背后的内容(遮罩背景);

④可以包含多种对象和视图,如表格、图片、地图、文本、网页、自定义视图、导航栏、工具栏及标签栏等;⑤可以操作当前APP视图中的各种控件或对象。

2.内容视图

内容视图是展示内容信息的部分视图,而非临时出现的视图。内容视图包含的组件有网络视图、滚动视图、分栏视图控制器、表格视图、文本视图、页面视图控制器、地图视图、图片视图、集合视图及活动视图。

(1)网络视图

网络视图能直接在APP中加载和呈现丰富的网络内容,如下图所示。

使用规则:①用于展示网络内容;②可自动处理页面中的内容。

(2)滚动视图

滚动视图方便用户浏览尺寸超过视图边界的内容,如下图所示。

使用规则:①没有预定义的外观;②在其刚出现或当用户对其进行操作的时候会出现滑条;③当用户在视图中拖曳内容时,内容会随之滚动;④当用户轻扫屏幕时,内容将快速滚动,—直到用户再次触摸屏幕或内容已经到达底部时才停止;⑤使用滚动视图可以允许用户在固定的空间内浏览大尺寸或大量的内容;

⑥适当地支持缩放操作,如果放大和缩小操作对于当前内容有效的话,可以支持用户通过“捏”这个手势或双击来对当前视图进行缩放,若是支持缩放操作的话,设计师还应当根据用户当前的任务设定在当前情景下允许缩放的最大值和最小值;

⑦分页模式滚动视图中,可以考虑使用页面控件;⑧当设计师想要展示分页、分屏或者分块的内容时,可以使用页面控件让用户知道当前内容一共有多少部分,以及当前浏览的是哪个部分的内容。

(3)分栏视图控制器

分栏视图控制器是一个用于管理两个相邻视图控制器显示的、全屏视图的控制器,如下图所示。

使用规则:①可以在横屏状态下并排展示两个窗格;②可以让主窗格在详情窗格上方显示,也可以在不需要的时候(尤其是在竖屏的状态下)隐藏主窗格。

(4)表格视图

表格视图以一种可滚动的单列多行的形式来展示数据,主要有两种类型:一种是平铺型表格视图,另一种是分组型表格视图,如下图所示。

使用规则:①以可以进行分段或分组的单列形式展示数据;②用户可以通过点击并选中某行,或者通过控件来执行添加、移除、多选、查看详情或展开另一个表格视图等操作。

(5)文本视图

文本视图可以接收和展示多行文本,如下图所示。

使用规则:①它是一个可定义为任意高度的矩形;②当内容太多且超出视图的边框时,文本视图支持滚动操作;③支持自定义字体、颜色和对齐方式(在默认状态下,文本视图会以左对齐的黑色系统字体显示);④可支持用户编辑,当用户轻击文本视图内部时,将调出键盘(键盘的布局和类型取决于用户的系统设置)。

(6)页面视图控制器

页面视图控制器可以通过滚动或翻页两种方式处理长度超过一页的内容,如下图所示。

使用规则:①带滚动条的页面视图控制器没有默认的外观;②带翻页效果的页面视图控制器可以在两页中间增加书页翻起的效果;③可以根据指定的转场来模拟出页面切换时的动画效果。

(7)地图视图

地图视图主要用于呈现地理数据,同时支持系统内置地图应用的大部分功能。地图视图可以给用户提供一个地理区域视图,且一般会允许用户在视图中进行交互行为,如下图所示。

使用规则:①以标准地图、卫星图像或两者结合的形式来展示地理区域;②可以支持单点标注及叠加图层功能;③支持编程时定义的或由用户所控制的缩放和移动。

(8)图片视图

图片视图主要用于展示单独的或一系列的静态及动态图片,如下图所示。

使用规则:①组件不存在任何预先定义好的外观,同时在默认状态下不支持用户的交互行为;②可检测图片本身及其父视图的属性,并决定这个图片是否应该被拉伸、缩放及调整到适合屏幕的大小,或者固定在一个特定的位置。

(9)集合视图

集合视图用于管理一系列有序的项,并以一种自定义的布局来呈现这些项,而且支持开发者额外定义手势来识别并执行自定义操作,如下图所示。

使用规则:①可以从视觉上区分项的子集或提供装饰性项目,如自定义背景;②布局切换时支持自定义转场动画;③在默认状态下,当用户导入、移动或删除项的时候,会出现系统默认的动画效果,同时集合视图可识别轻击、选中操作。

(10)活动视图

活动视图可以展示系统提供的或自定义的服务,如下图所示。

使用规则:①各类活动可通过访问活动视图控制器来作用于某些特定的内容;②活动是一种可定制对象,代表着某项可以让用户在APP中执行操作的服务,以图标的形式呈现,外观与按钮图标相似。

自定义键盘组件_一文读懂!iOS系统组件的设计规范全解相关推荐

  1. 自定义键盘组件_一文读懂!iOS系统组件的设计规范全解!

    一说到组件,大部分初级设计师和中级设计师的脑海里只会蹦出弹窗.Toast及操作列表等具体的概念,没有一套属于自己的组件分类体系,这样对于视觉设计.交互设计或产品设计的系统学习来说都是不利的. iOS1 ...

  2. 一文读懂滤波器的线性相位,全通滤波器,群延迟

    转载自https://blog.csdn.net/s09094031/article/details/83755663 一文读懂滤波器的线性相位,全通滤波器,群延迟 1. 延迟 2. 全通滤波器 3. ...

  3. psm倾向得分匹配法举例_一文读懂倾向得分匹配法(PSM)举例及stata实现(一)

    原标题:一文读懂倾向得分匹配法(PSM)举例及stata实现(一) 一.倾向匹配得分应用之培训对工资的效应 政策背景:国家支持工作示范项目( National Supported Work,NSW ) ...

  4. 超融合和服务器关系_一文读懂超融合服务器

    原标题:一文读懂超融合服务器 1.什么叫超融合服务器 融合基础架构(Hyper-Converged Infrastructure)是一种集成了虚拟计算资源和存储设备的信息基础架构.在这样的架构环境中, ...

  5. python读取枚举_一文读懂Python 枚举

    enum是一组绑定到唯一常数值的符号名称,并且具备可迭代性和可比较性的特性.我们可以使用 enum 创建具有良好定义的标识符,而不是直接使用魔法字符串或整数,也便于开发工程师的代码维护. 创建枚举 我 ...

  6. 三轴加速度传感器和六轴惯性传感器_一文读懂三轴,六轴,MEMS陀螺仪(角速率传感器)的区别...

    原标题:一文读懂三轴,六轴,MEMS陀螺仪(角速率传感器)的区别 随着现代科技的不断发展,陀螺仪也被应用到越来越多的领域和行业,例如我们常见纸飞机等飞行类游戏,赛车类游戏等.以陀螺仪为核心的惯性制导系 ...

  7. java中date类型如何赋值_一文读懂java中的Reference和引用类型

    简介 java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型.java为引用类型专门定义了一个类叫做Reference.Reference是跟jav ...

  8. python输入什么就输出什么_一文读懂Python的输入和输出

    本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...

  9. gps导航原理与应用_一文读懂角速度传感器(陀螺仪)的应用场景

    前文我们大致了解陀螺仪的来历,原理和种类,那么,它与我们的日常生活有怎样的关系呢? 陀螺仪器最早是用于航海导航,但随着科学技术的发展,它在航空和航天事业中也得到广泛的应用.陀螺仪器不仅可以作为指示仪表 ...

最新文章

  1. 区块链技术的本质是分布式数据库
  2. android mysql项目实例_android项目中单实例数据库类
  3. 微课堂 | 典典养车COO:暴力运营美学,典典养车如何一年内拿到500万用户(今晚8点开始)...
  4. python lxml xpath_Python/lxml/Xpath:如何找到包含特定文本的行?
  5. redis-cli 常用命令
  6. 朗锐智科发布PCIe-3504PoE 千兆以太网图像采集卡
  7. MFC使用简单总结(便于以后查阅)
  8. HR_Hash Tables: Ransom Note
  9. Ubuntu16.04LTS +Qt+boost1.66编译错误:consuming_buffers.hpp: parse error in template argument list...
  10. 【正一专栏】阿根廷和葡萄牙都进不了世界杯可能吗?
  11. CocosDashboard课堂笔记
  12. DLT - Diagnostic Log and Trace简介
  13. Spark - BloomFilter 推导与工业界应用
  14. PAZU WEB打印控件
  15. 认养一头牛,故事的结尾没有IPO
  16. 【JavaScript】性能优化
  17. 机器学习基础--math(21)--皮亚诺公理
  18. Oracle_本地计算机上的OracleOraDb11g_home1TNSListener 服务启动后停止
  19. Linux内核教程(1) - 道路千万条,调试最重要
  20. 比较好的python培训班

热门文章

  1. Redis 如何实现限流功能?
  2. Ubuntu apt-get和pip源更换
  3. 程序员进阶之路—如何独当一面
  4. Xshell连接远程Linux服务器失败Could not connect to ‘192.xxx.xx.xxx‘ (port 22): Connection failed.
  5. 传播时延、发送时延、处理时延和排队时延各自的物理意义是什么?
  6. 大工17秋《计算机文化基础》在线测试1,奥鹏大工15秋《计算机文化基础》在线测试1答案...
  7. 需要单机还是集群部署_单机、分布式、集群的区别与联系
  8. mysql count count id_mysql 为什么count(*)快于count(id)
  9. 工业计算机远程控制,基于SOCKET技术的计算机远程控制实现
  10. es multi match_PHP 的ES搜索操作