(转)iOS7界面设计规范(7) - UI基础 - 交互性与反馈
现在只是周日下午,可怎样都觉得整个周末就这样即将过去了,不免沮丧。看了好多集小丸子了,又不免觉得现在其实是在放暑假,可以一天一天的窝在家里做任何事,任何事。再上一篇iOS7设计规范,然后本周末就到这里的样子,不想再对着屏幕了。
重要:这是针对于正在开发中的API或技术的预备文档(预发布版本)。虽然该文档在技术精确度上经过了严格的审核,但并非最终版本,仅供苹果开发者计划的注册会员使用。苹果提供这份机要文档的目的,是帮助你按照文中描述的方式对技术的选择及界面的设计开发进行规划。这些信息有可能发生变化,届时,你的设计开发方式需要基于最终版本的操作系统及文档进行相应的调整和测试。该文档或许会随着API或相关技术在未来的发展而进行更新。
译文最后更新时间:2013-06-23
用户习惯于标准手势
人们会使用诸如点击(轻按)、拖拽、开合等手势与iOS设备及应用进行互动。手势能够在人与设备之间建立起更人性化的关联,增强用户对于直接操作(direct manipulation)的感知。通常,人们会希望所有应用当中的手势操作模式都保持一致,例如:
- 通过点击(tap)来按压或选择一个对象。
- 通过拖拽(drag)来滚屏或移动对象(将其从界面一边拖向另一边)。
- 通过滑动(flick)来快速滚屏或移动对象。
- 使用一个手指进行轻扫(swipe),可以展现更多内容,例如列表视图中的删除按钮、分隔视图(iPad)中的隐藏视图,或是从界面顶端展开通知中心。另外在iPad中,可以通过四指轻扫的手势在不同应用之间进行切换。
- 通过双击(double tap)将内容或图片放大并置于屏幕中央;如果当前内容已呈放大状态,则将其缩小至默认尺寸。
- 通过双指张开(pinch open)或闭合(pinch close)对内容进行放大或缩小。
- 通过长按(Touch and hold)在可编辑或可选择的文字上显示放大镜,用来定位光标。
- 通过摇晃(shake)机身执行撤销或重做的操作。
除了人们熟识的那些标准手势以外,iOS还定义了一些用于在系统全局层面进行操作的手势,例如展开控制中心或通知中心。无论用户当前在使用什么应用,都可以直接通过这些手势进行系统层面的操作。
不要为标准手势赋予不同的行为。除非你的应用是游戏,否则重新定义标准手势的用途会导致用户产生迷惑,降低产品的易用性。
不要重复创建与标准手势具有相同作用的自定义手势。人们都习惯了标准手势的行为,他们不会希望花时间学习新的手势却只能达到同样的效果。
可以将复杂的手势作为完成任务的快捷方式,而不是唯一的方式。尽可能为用户提供简单而明显的方式来完成任务,哪怕需要额外的一两次点击。简单的手势可以让用户将注意力聚焦在内容和体验上,而不是交互过程本身。
不要定义新的手势,除非你的应用是游戏。在游戏或是其他沉浸型应用当中,自定义手势可以成为体验乐趣的一部分。但在那些帮助人们完成重要任务的应用里,最好使用标准手势,这样人们就不需要时刻想着操作方式本身了。
对于iPad应用,要考虑使用多指手势。iPad的大屏幕带来了广阔的空间,可以更好的支持多指手势,也就是同时使用超过一根手指进行的操作。虽然相对复杂的手势操作并不适用于所有的应用,但对于那些人们会花很长时间来使用的,例如游戏或需要创建内容的应用来说,多指手势是可以增强体验的。另外一定要记住,非标准手势的可发现性是较差的,不要让这类手势成为完成任务的唯一方式。
反馈有助于理解
iOS用户习惯于接收各种反馈。这些反馈可以帮他们了解应用当前的状态,发现接下来可以做些什么,或是预计自己的操作会产生怎样的结果。UIKit框架所定义的控件和视图当中包含了很多类型的反馈。
尽可能将状态或其他的相关反馈信息整合到UI当中。例如,邮件应用会在工具栏中显示更新状态,如下图所示。

避免不必要的警告提示。警告是一种强力有效的反馈形式,但它只应用于传达最重要的信息,并提供相关的后续操作选项。如果用户看惯了不包含重要信息的警告框,他们就会学会忽略这些提示了。请参考警告框一节,了解更多详情。
信息输入方式要简单易行
无论是点击控件元素还是使用键盘,输入信息都需要耗费用户的时间和注意力。如果你的应用在帮助人们解决问题之前需要让他们进行太多的信息输入,他们就会感到受挫。
使用选择让输入更轻松。例如,你可以在某些地方使用列表视图或选择器(picker)来代替文本输入框,因为对于多数人来说,选择比打字更容易。

在合适的情况下,从iOS获取信息。人们会在设备系统中存储很多信息,不要强迫他们再次输入那些你能够在系统中获取到的信息,例如通讯录或日历信息。
给予用户有价值的反馈,来平衡向他们索取信息的要求。让用户了解付出与回报的关系,可以使他们感受到产品的使用流程正在向前推进。
译文代表原作者观点。欢迎发表评论,或到译者微博进一步交流探讨。
(转)iOS7界面设计规范(7) - UI基础 - 交互性与反馈的更多相关文章
- (转)iOS7界面设计规范(13) - UI基础 - 与iOS的系统整合
突然就到了周日傍晚.你永远不会知道自己的生活在接下来的一周当中能够发生多少变化:各种不可预知性所带来的更多是快感还是焦虑与不安,冷暖自知.相比之下,白天工作当中那些需求列表与排期文档就显得那么可爱了, ...
- (转)iOS7界面设计规范(2) - UI基础 - iOS应用解析
今天再来一发,然后结束掉周六的忙碌,去吃零食,还有冰啤酒:其实现在打嗝还有小龙虾味儿呢. 第二篇更多的是从技术的角度对iOS界面组成原理进行了简单的解析,篇幅很短,可稍作了解:更多关于iOS开发入门的 ...
- (转)iOS7界面设计规范(8) - UI基础 - 术语和措辞
讨厌周一,讨厌一周.今天中午交互组聚餐,却很开心:大家都是很厉害的人,你可以感到他们身上的能量,可以感到有些什么东西正在推着自己尽力向前走.这是一种很健康的状态,同时也很难得,自然越发需要珍惜.从无到 ...
- (转)iOS7界面设计规范(10) - UI基础 - 文字排版与配色
明天就是周四了.貌似前几天还在恨周一呢.话说今天几乎开了一整天的会,正经事情没做多少:这种感觉比一整天从早到晚12个小时的忙碌于一件事情还要让人感到疲惫的对叭?那今天的iOS7设计规范更新又是一篇很简 ...
- (转)iOS7界面设计规范(1) - UI基础 - 为iOS7而设计
今天开个新坑.其实老早就想做这事儿了.记得前一两年,苹果官方还会在开发者中心提供中文的HIG(Human Interface Guideline),后来给没了:网上能够找到的中文版本不知是官方还是同行 ...
- (转)iOS7界面设计规范(12) - UI基础 - 品牌
重要:这是针对于正在开发中的API或技术的预备文档(预发布版本).虽然该文档在技术精确度上经过了严格的审核,但并非最终版本,仅供苹果开发者计划的注册会员使用.苹果提供这份机要文档的目的,是帮助你按照文 ...
- (转)iOS7界面设计规范(4) - UI基础 - 布局
好吧,第四篇的样子,节奏还好:我怎么又是刚吃过小龙虾的状况呢. 今天的话题是布局,篇幅很短:我自己好喜欢这样,在还有些剩余时间和精力的情况下,一个话题一个话题的推进,做做译文,并热切的希望这些内容在自 ...
- (转)iOS7界面设计规范(3) - UI基础 - 启动与退出
周二晚间来第三发,搞得好像今天是周六的赶脚.发掉之后再奖励自己一点冰啤酒吧,然后扑床去.天气热起来了,各位注意防暑降温呗.走起. 重要:这是针对于正在开发中的API或技术的预备文档(预发布版本).虽然 ...
- (转)iOS7界面设计规范(11) - UI基础 - 图标与图形
不知别人如何,我自己来讲,平时很习惯很有动力去做的一些事,譬如博客吧,一旦生活中出现一些让自己很难受的状况,就很容易受到影响:像是,你平时所习惯的生活状态都是基于某种东西的,一旦这种东西崩塌,会影响到 ...
随机推荐
- 遍历Jenkins全部项目的配置
随着任务的增多.须要一个脚本能够检查全部的jenkins project的配置.比方提取任务计划配置,开发人员信息等. 首先要能够得到全部的project名称. 能够通过REST API实现: htt ...
- 关于退运美国转基因玉米含有MRI 162转基因成分的质疑
6月30日,新华社刊出文章"我国退运125.2万吨进口美国转基因玉米",读后有感. 文章说:国家质检总局办公厅副主任陆春明30日介绍,截至今年6月16日,全国出入境检验检疫机构共在 ...
- udp 不需要 listen
accept()不是监听,accept()是接受新连接.listen()是进入监听状态,表示愿意接收连接请求.listen之后有连接请求就将其放到队列中,accept()时把新连接请求从队列中取出,建 ...
- Java基础知识强化49:10个实用的但偏执的Java编程技术
1. 将String字符串放在最前面 为了防止偶发性的NullPointerException 异常,我们通常将String放置在equals()函数的左边来实现字符串比较,如下代码: // Bad ...
- IE浏览器下a标签嵌套img标签默认带有边框
最近写在线主页时发现IE浏览器下a标签嵌套img标签默认带有边框: 解决办法:img{border:0 none;} 注意,严格意义上0和none都要加上!
- C复习手记(Day2)
1.共用体 共用体是一种特殊的结构,允许在相同的位置存储不同的数据类型.可以定义一个带有多成员的共同体,但是任何时候只能有一个成员带有值. 定义共用体: union Data { int i; flo ...
- 使用Razor来进行页面布局
UI设计师们现在也讲究页面设计的语义化和结构化,把一个页面分成很多个模块,使用语义化的类名或id来标识这些模块.Razor推出了新的布局解决方案来迎合这一潮流. 这里涉及到Razor的一些语法,大家可 ...
- DataGrid 简单数据绑定实例1
1.默认数据显示(自动显示列) 后台绑定 //DataGrid 数据绑定 dataGridOne.ItemsSource = _Context.Info.ToList(); 前台定义 <Data ...
- Xcode itunes完美打包api方法
转:http://bbs.csdn.net/topics/390948190 Xcode6 itunes完美打包api 方法! 特点轻盈小巧,方便快捷!
- java 判断对象是否是某个类的类型方法
class Do1 { public static void main(String[] args) { AA a=new CC(); if(a instanceof CC) { CC b=(CC)a ...