标准控件:使用内置的界面元素。相似性和一致性将会增加设计的可靠性。(记住去掉不必要的步骤、烦躁的动画、多余的按钮,尽量保持流程简洁明了)
a.导航栏。导航栏的左侧只能放置返回按钮,模态视图里左侧最好放置“取消”按钮。屏幕的右上角是拇指操作范围的偏僻区域,在这个区域里,大可以放上不常用但有需求的控件,或放上怕用户误点的控件。(如可以放置添加操作或删除操作,“编辑”按钮常在此处)标题帮助用户保持方向感。如果在导航的标题上加上品牌logo,只在首页放置其他页面不要放置。(新闻类应用,如果标题太长可以放在导航下的内容区域里。)为了让用户不迷路可以在一开始缩小大家的探索范围,要尽量减少树形结构应用的深度,以减少用户不断返回又深入的点击。只要是结构深度过深的应用,如果导航深度没法再少了就用快捷方式可以直接回到顶层。你不必在每个页面都加上导航栏,在全屏模式下可根据需要隐藏导航栏。这种方式对于照片和长文章很有用,可以通过点击屏幕来隐藏显示导航栏,也可以把导航栏做成半透明的样式。此时尽量不要在导航上放控件,而要放置在屏幕底部的工具栏上。
b.工具栏。页面上的工具箱,用来编辑、操作、分享内容,附着在屏幕底部,高度为44像素。在很多情况下,点击工具栏按钮会触发一个模态视图或动作选单,但你也可以用其来触发一项背景进程,或筛选内容或切换展示内容的方式。苹果建议图标的数量要限制在5个或以内,可以调整工具栏的不透明度和颜色,工具栏和导航栏风格要统一,图标可以适用。“编辑”、“完成”、“保存”、“取消”4个按钮使用频繁且功能重要。(在编辑一个列表时,删除和拖载控件一般不会在新的视图里出现,而会在当前视图操作。这种方式能让你在切换模式的时候保持视线锚点,从而告诉你还在编辑同一份内容,是最佳实践方式,可参考淘宝购物车“编辑”。而“保存”和“取消”按钮一般用于在另外一个视图里编辑内容。)标签栏图标应是30*30像素大小,而工具栏和导航栏图标应是20*20像素大小。
c.搜索栏。(标准功能条4个:标签栏,导航栏,工具栏和搜索栏)如果你的应用可以管理或访问大量的信息那就需要搜索栏。搜索输入框中可以有占位文本(如“搜索”),旁边有一个用来清除文本的取消按钮,还可以有可选的书签按钮,用来显示用户搜索历史(可参考“网易云音乐”的搜索)。搜索栏、工具栏和导航栏在竖屏模式中都是44像素。如果你已经在布局中屏幕上下部都放上了控件(底部标签栏,顶部导航栏)的话,就不要把搜索栏固定在屏幕上,可以让搜索栏随内容滚动。(然后考虑一下是不是在用户首次访问该页面时看到搜索栏,如第一次访问某页面时,把搜索栏缩到导航的背景层里,用户拉下滚屏就可看见搜索栏,或用户看到的只是一个搜索的图标,点击图标出现搜索视图。)如果需要对搜索做一些说明,可以在搜索栏上添加范围选择栏,范围选择栏可以让用户选择搜索结果范围,会在点击搜索栏后和键盘一起出来(可参考“淘宝”和“站酷”的搜索栏)。如果可以应该提供实时搜索的功能,实时搜索就是在搜索关键字里每打一个字搜索结果就会更新。如果实时搜索因庞大而复杂的数据结构导致搜索过程缓慢时可以放弃(可通过真实设备测试,看能否通过压力测试),大多数用户不会多虑,他们也接受输入完整的搜索关键字。显示搜索结果最标准的方式是通过简单的列表展示,也可以用表格视图来展示。
d.表格视图是增强型列表。表格视图最常见的功能有:(1)用来作为树状应用分类和内容的导航;(2)用来显示一张可选项的列表;(3)用来快速浏览、索引一张长列表;(4)用来罗列、分组内容详情。
可在表格视图上添置各种功能附件或视觉附件,功能附件:表格视图有三个标准图标,一般在单元格的最右边显示(单元格是iPhone对列表中项目的官方称呼)。右边区域还可以放置其他控件,如开关控件和输入框(“设置”里输入邮件账号信息等)。单元格的右边区域的指示器和控件都会告诉用户点击单元格后将发生什么。
标准表格单元格布局中,可以在最左边显示一张自定义图片,只有能给内容带来价值、方便扫描列表时,才需要给表格单元格添加图形。除开用一条标题和一张可选的图片来展示一行内容的简单方式,标准的表格视图单元格还有三种不同的样式,每种样式都会包含有详情文字,在单元格里不同位置出现的文字也为每一种样式担任了不同的任务。所有的标准单元格样式都是固定高度的,也就是44像素。自定义布局中,布局越复杂,文本行数越多,要求的编程量就越大。
设置表格:索引列表和分组列表。(两种为列表添加标题的方式)将列表分类,可以为定位内容提供视觉标记,从而解决在长篇列表中查找所需信息的麻烦。索引列表在列表中直接插入了标题,滑动列表,标题会一直“粘”在屏幕的顶部,这样就可以一直看到你所处的分类。索引列表展示分类多、内容冗长的列表非常理想(如通讯录--字母右侧索引)。点击索引里的项目,可以立即跳转到列表中相应的标题上,这对查找长列表非常方便。索引列表单元格右侧唯一能放的元素就是索引栏,而要去掉图标和其他多余控件。分组列表是为相关的一小类项目所设计的,用来展示设置项、功能菜单和不同组别的内容。虽然分组列表有类似于索引列表的标题,但分组列表无法把这些标题像索引栏一样展示在右边沿,即分组列表没有单点导航的快捷方式来速达某一个标题,这也是分组列表之所以不适合展示冗长内容的另外一个原因。
标准的表格视图附有一个可选的编辑模式,这个编辑模式可让大家添加、删除、排列列表项目,如邮件、代办事项等需要提供上述编辑功能来管理。点击编辑按钮,在每个单元格都会出现标准的删除控件或重排控件,也可在某个列表上从右向左滑动出现“删除”按钮。此为大家一次删除一个列表项的操作而优化,但如果为了一次性删除多条列表,就可以用控件如圆形复选框,选择要删除的项目一次性删除(如淘宝收藏清单编辑)。
e.文本。4种文本容器:(1)标签用于显示很短的文本(如输入框的标签、简要说明等);(2)文本视图适于处理长文本,也允许用户对文本进行编辑;(3)网页视图是内嵌在页面的浏览器窗口,你可以用它来显示一张网页,也可以用来展示你精心编排的文本;(4)文本输入框可以让用户输入简短的文本或数据的输入区域。为了展示冗长的多行文本,一般用文本视图和网页视图,只要文字在可用空间里显示不下就可滑动滚屏。文本视图不能单独对某个或某段字进行设置字体样式,要对长文本进行一些样式调整可以用网页视图。文本视图能让你显示并编辑多行文本,而文本输入框更适于编辑简短的文字。
编辑文本。用文本视图可以编辑文本内容,而网页视图做不到。如果让用户可编辑多行文本,那就提供一个文本视图,然后打开编辑功能。打开可编辑的文本视图,键盘会自动从屏幕底部弹出,方便你输入文字。文本输入框是个长方形的输入框,只能输入单行文本,点击输入框就会弹出键盘,用来编辑文字。文本输入框有自己独特的辅助功能,允许开发者添加图片、按钮或输入框内的左边或右边添加文字。添加元素的基本规则就是在左边添加作为定义的文本或图标(在搜索输入框插入“搜索”词语,或放上放大镜图标),右边放按钮或触发操作,右侧最常见的按钮是叉形“取消”按钮,它为文本输入框的内置可选按钮。文本输入框提供了一些功能,能帮助用户更好的了解每个输入框的目的,进而输入适当的内容。在输入文本之前,输入框里会有灰色不显眼的占位文本(预设文字),它可以作为输入框的标签(“搜索维基百科”)或是提示输入数据的类型(“某某路123号”)。
修订勘误。可以自己设定任意输入框和文本视图是否使用iPhone的拼写自动纠错功能或自动首字母大写功能。但要思考每个文本输入框里要输入的内容,而后再想想开启的自动功能是会帮助还是妨碍用户输入内容(如密码输入框是否适合开启首字母大写功能),为文本输入框弹出适宜的键盘布局也很重要。根据每个输入框要输入的内容类型,提供不同的键盘,能帮助用户减轻敲键盘的痛苦。在iPhone os中有8种不同的键盘布局,你可以为每个文本输入框绑定任一种键盘布局,要确保每个输入框都能弹出最适合你所要数据的键盘。如果不为文本视图和文本输入框指定所需键盘,就会弹出默认键盘。除了选好合适的键盘布局外,还可以为每个输入框弹出的键盘自定义return键(return键是标准键名)的标签,可以用文字来阐述接下来会发生什么。
本页还是新开?页面上的文本输入框有两种比较常见的方式,第一种方式是在本页就地编辑所有的文字(当只有一小组输入框时,用户一次输完更好),另一种方式是显示所有的值(输入框有很多,且用户没必要一次输完),然后每项值都新开一张页面,分别编辑。
f.多选控件:拨选器、列表和动作选单。在某些情况下,比选好键盘更靠谱的事是完全抛弃键盘。从菜单里选一项比在键盘上写出所有字来的快,还不易出错。只要情况允许,尽量不要用键盘,回馈给用户一个菜单,这样就可以一下点完。
拨选器控件可以包含有可选的选取栏,选取栏可以相当清楚的说明当前的选择项,同时也可以用来显示选项值的单位(如时钟的h和s)。拨选器一般作为界面上的主元素来显示,也会在你点击按钮或在表格单元格中要输入内容时,再像键盘一样从屏幕底部弹出。拨选器能同时进行多维度的选择,如同时设置年月日。拨选器的可选项应有明显的顺序,按字母或大小排序。
如果选项过长或不为人所知,换表格视图来,表格视图可以让大家在普通的滚屏列表中选取项目。全屏的列表:比起拨选器的小窗口来说,易于扫描;提供了内置的编辑工具,便于用户自定义列表;只要需要,表格视图可以在每个可选单元格右边标上标记,进行多选操作。对于长列表,要根据用户的操作历史,把可能的选项放到前面,甚至可以用上其他人的选择热门度。列表相对于拨选器来说,列表能显示标题,将选项进行分类描述。
拨选器和列表都是在输入数据和设置项时,用来选择选项的,如果要选择可选操作,要用动作选单。点击工具栏按钮或是标签栏就会从屏幕底部弹出动作选单,显示出一列按钮。动作选单将次操作藏在了页面外,直到需要的时候才会出现,它也是隐藏之门的一种。有些按钮和选项在工具栏上放不下或不该放在工具栏上,此时动作选单就能容下这些按钮和选项。动作选单的文字按钮和工具栏上图标外形不同,行为实际一致,动作选单的按钮可以显示用来编辑、操作和分享当前页面内容的选项。动作选单按钮和工具栏按钮一样,为执行相应的细化操作,也常常会激发出模态视图。有时候,点击动作选单不一定会出现模态视图对话框,此时大部分情况弹出的是用来确认具有潜在不可逆的动作选单。确认动作选单一般用来预防具有破坏性的操作,会带着“删除”和“取消”两个选项滑出,强制用户在完成删除操作之前再进行一次点击。但是两次点击会让用户在完成任务的过程中多出更多的步骤,且动作选单会变成肌肉记忆,用户渐渐不加思索的点击确认,而使确认删除的预防功能失效。动作选单本身就是模态视图:它将操作暂停,然后把屏幕变暗,再盖上可选项。你需要有按钮来恢复操作,故动作选单还应带一个“取消”按钮,能让用户离开。标准的“取消”按钮在动作选单的最下方,会比其他按钮稍暗。这样既符合逻辑,又方便操作。把按钮放在下边不仅能让大家先看看其他选项,还同时把按钮摆放在了最方便点击的区域。“取消”按钮比其他按钮更容易点击,同时它也保持出现在相同的位置,容易找到且用了不惹眼的方式,预防了误点操作。具有破坏性的操作同样应该特别对待,要用又警示意义的红色按钮,并将“删除”按钮放在表单的最上面,让它更加显眼,并远离拇指热区,减少误点。动作选单若使用图标按钮,用户肯定会经常需要揣测图标的含义,所以用文字按钮好一些。为了让用户一次性不用阅读太多文字,需要添加的文字按钮不能太多,包括“取消”按钮在内必须限制在5个以内。
g.按钮有不同的控件状态:正常状态、按下状态、禁用状态和选中状态(双态按钮“开”的时候)。iPhone标准控件库无复选框(一种同时选中多项的基础控件)。双态按钮是指有开和关两种状态的控件,如电灯的开关按钮。还有一个类似的控件就是在表格单元格列表项里的钩形标记。如果这两个控件都不能满足类似复选框的需求就可以自定义按钮。
h.分段控件:一排同样的按钮,每次只能选中一个,为单选按钮。一般拿分段控件来转换不同的内容,每个按钮都对应着一个不同的排序方式、筛选方式或页面内容。分段控件就是有用的二级导航,可以展示页面里的内容或应用的分类。分段控件的所有可选项都该平等,即要用一致的图形或文字让它们在视觉上平等。标准的分段控件有两个尺寸:一个用来塞进工具栏和标签栏,为30像素高;另一个用来放在界面里,和工具栏、导航栏和搜索栏一样高问44像素,也适于手指点击。一般情况下,最好把分段控件的按钮数限制在5个。
i.设置的那些事。设置决定了更基础的应用程序行为,一般有三类设置:内容设置(如天气预报应用应能让用户选择城市,显示比赛得分的应用应能让用户能选择关注的赛事)、账户设置(如果你的应用需要账户用来进行在线服务,应该有登录、退出登录或更新账户凭证的设置项)、隐私设置(如果你的应用分享了用户信息或在线活动,那么应该提供不公开信息的选项)。
j.用手势来操作。手势来源于经验,用户是如何触摸现实物体的,是如何用鼠标控制指针的,就会如何在触屏上做相同的尝试。观察大家如何使用你的应用,然后来添加观察到的相应手势:多次尝试却未奏效的手势(在其他应用上的经验会让用户对新应用的运转机制产生期望)和周而复始的耗时操作(应该有一条避开不断重复同样点击顺序直通目的的捷径,如标准手势从右往左滑动的删除操作)。减少耗时操作是几乎所有自定义手势的发明动机。确保你提供的隐藏手势功能都能有其他的路径可以完成同样的操作,即备用方案(如隐藏的从左往右滑动的删除功能可以通过可见的编辑按钮等多步操作同样达到删除目的)。扩充标准手势(如向下拉页面即可加载新微博,滚屏的操作变成了获取新信息的手势),也可以让用户自行选择手势操作。一般来说,多指手势比单指手势难操作。给手势稍加点难度,或使用点击组合,以此来防止意外的误点击发生。如“移动滑块以解锁”,滑动删除手势(以防止表格视图中意外删除项目的情况发生),添加让用户可以恢复的撤销命令(微信2s内可撤销发送的最新消息)。为每次点击和操作都提供视觉反馈,然后有节制的加上声效。每次点击都要伴随有视觉反馈或扩大反馈(如敲击手机键盘时可放大点击的某个字母或在点击区域旁边提供明显的点击反馈),才能让用户安心的感觉自己的手势有预期效果;正确且适度的动画效果,给用户机械变化的感觉让触屏更有质感;如果加入声效,也要考虑是否在应用的设置里添加关闭声效的选项,或在某个面板里有关闭按钮且要确保关闭的时候也有声音(如带音乐的H5页面)。
k.慎用警告框、通知框、活动指示器和进度条。警告框在屏幕中间弹出,终止了操作,发出通告。和模态视图、动作选单一样,警告框打断了工作流并吸引了注意力,所以它也叫模态警告框。警告的内容要值得打断工作,才能弹出。正确使用警告框的方法:(1)应用不能进行(当某些严重错误发生或某些无法让应用继续进行的条件发生时);(2)能帮点小忙吗(应用无法完成请求任务换种方法时,可以通过警告框里添加两个按钮来达到此目的:关闭警告框的取消操作和触发备选操作的按钮。警告框里不要添加两个以上的按钮,如果需要添加多个选项一般建议用动作选单。);(3)请授权(某些事情用户可能不情愿做或做后会后悔,在发生这些事之前使用警告框让用户确认授权。如保护隐私,应用会提取用户个人信息,操作会导致重新提交表单数据等的时候)。要慎用警告框:(1)不要使用警告框来弹出欢迎消息(引导提示和帮助最好用专门制作的欢迎页);(2)不要弹出让用户到APP store里打分(可以在“设置”里的“关于我们”中设置打分链接);(3)一会儿就能好的问题(如临时网络连接问题)。警告框选项里会有默认按钮--应用推荐的选项,一般较亮,且在右侧。对于有潜在风险和破坏性的警示操作,“取消”按钮就会变成默认按钮;对于一些无害的操作,推荐操作应该是默认的,而“取消”应该使用灰色样式放在左侧。主屏幕标记体现了被动消息的价值,在不打断你的情况下,让你知道了新内容的增加。触动人心的应用会把被动消息用的很好,提供可靠的反馈,如“菊花转”等状态转换指示器和模态按钮(根据应用的状态不同和用户所做事情的不同而改变外观)的使用。进度条和其他分散注意力的控件会让感知时间变快。事情发展的快与慢取决于环境,取决于眼前注意力的分散程度,取决于任务的枯燥程度。进度条给出了剩余时间的视觉估量,只要简单的知道还要等多久,心里就会平静许多(相同的还有叫号排队和快递查询业务)。对于需要持续数秒的进程,只要可能,你就做出提示告知任务还有多久完成。如果进程时间过长,就要考虑是不是能给用户在等待的时候一些东西做做或看看。消磨时间最好的方法就是给点东西让大家去探索,如个人统计信息、相关文章或使用技巧等。对于网络应用而言,即使没有网络连接,能让用户看到上次下载的内容也行;关于聊天界面,保存上次会话的内容和数据,也会让用户感觉启动很快;Facebook加载实时动态页面,可以提前预读下一级内容,给出预先加载好的动态详情等。
l.地图视图。能让你在任何页面里添加一个全功能的地图,和内置的“地图”应用一样,地图视图可以让用户缩放、移动地图,然后可以在上面添加图钉、高亮区域、计划路线等。但是,你的基本目标只要提供所求内容的速览就行,不要觉得必须要把搜索和查看路线等功能做全,这不是主要目的。如果你的目标是基于位置的服务,那么在地图上添加高级功能会好些,但如果只是次要的附加功能就要保持简洁。