六、Feedback(反馈)
反馈帮助用户了解应用程序在做什么,了解他们下一步能做什么,并理解操作结果。
不引人注目地将状态和其他类型的反馈整合到您的接口中。理想情况下,用户可以在不进行操作或不被中断的情况下获得重要信息。例如,在浏览邮件的邮箱信息时,会巧妙地显示工具栏中的状态信息。此信息不会喧宾夺主影响屏幕上的主要内容,但可在任何时候快速浏览核查。
避免不必要的警报。警报是一种强大的反馈机制,但应该只用于传递重要的、理想可操作的信息。如果用户看到太多没有重要信息的警告,他们很快就会学会忽略之后的警报。更多指导请参阅 Alerts。
6.1 触觉反馈
支持触觉技术的设备能通过触觉反馈,与用户身体建立联系,从而让用户得到关注并强化操作。一些系统提供的界面元素,如拾取器、开关和滑块(pickers, switches, and sliders),在用户与它们交互时自动提供触觉反馈。你的应用程序也可以要求系统生成不同类型的触觉反馈。iOS管理反馈强度和状态。
谨慎使用触觉。过度使用会引起混乱,并减少反馈的意义。
通常,为用户操作提供触觉反馈。用户很容易将触觉与他们的操作联系起来。混乱的反馈会让人感觉被切断、被曲解。
不要重新定义反馈类型。为了确保有一致的经验,请按照预期使用反馈类型。例如,不要使用“影响”( "impact")反馈来通知用户一个任务已经成功。相反,使用“通知”中的“成功”反馈。
为触觉微调视觉体验。同时提供视觉和触觉反馈,以在操作和结果之间建立更深的联系。确保动画是锐利和精确的,视觉上符合用户的感受。
不要依赖单一的交流方式。并不是所有设备都支持完整的触觉反馈,并且用户可在设置中选择完全禁用该功能。此外,只有当设备处于活动状态并且您的应用程序处于最前端时,触觉反馈才会出现。用视觉和听觉提示补充触觉,以确保重要信息不被遗漏。
当视觉反馈可能被遮挡时使用触觉。某些交互被用户的手指隐藏,例如将对象拖到屏幕上的位置。考虑通过反馈让用户知道他们何时到达某个特定的位置或值。
在开始反馈前准备好系统。因为在提供触觉反馈时可能会有一些延迟,所以最好在请求反馈之前就准备好系统。否则,触觉可能会来得太晚,感觉与用户的操作或屏幕上看到的内容切断。
同步触觉与伴音。触觉不会自动与声音同步。如果想要一个伴音,需要负责同步它。
开发指导请参阅 Animation and Haptics。
七、文件处理(File Handling)
在创建、查看和操作文件时,用户应该不需要考虑文件系统。如果你的应用程序使用文件,尽量减少文件处理。
灌输信心:工作有被保存,除非是被取消或删除了。一般来说,不要让用户特意保存文件。相反,在打开、关闭文件以及切换到另一个应用程序时,定期自动保存更改。在某些情况下,例如编辑现有文件时,为了确认实际获取的编辑,保存和取消选项可能仍是必要的,。
不要提供创建本地文件的选项。用户通常希望所有文件都可以在他们所有设备上使用。尽可能让应用程序通过诸如iCloud等服务支持基于云的文件存储器。
使用直观且图形化文件浏览界面。理想情况下,使用系统熟悉的文档选择器来浏览。如果您使用自定义文件浏览器,请确保它是直观和高效的。文件浏览器在高度图形化时工作最佳,提供了文件的可视化表现。为了更快的导航,可以考虑提供一个新文档按钮,这样用户就不必去其他地方创建新文档了。
让用户在不退出你的应用程序的情况下预览文件。你可以使用Quick Look让用户查看Keynote、Numbers和Pages文档、pdf文件、图像和某些其他类型的文件,即使你的应用程序并没有打开它们。请查阅 Quick Look。
在适当的时候,与其他应用共享文件。如果这是合理的,你的应用程序可以通过文档提供程序扩展(document provider extension)来与其他应用共享文件。你的应用程序也可以让用户浏览和打开其他应用程序的文件。开发指导请参阅 Document Picker Programming Guide。
八、手势(Gestures)
用户通过在触摸屏上的使用手势与iOS设备进行交互。这些手势与内容产生了密切的私人联系,并增强了对屏幕对象的直接操控感。
通常使用标准的手势。用户熟悉标准的手势,不喜欢做同样的事情被迫学习不同的方法。在游戏和其他沉浸式应用程序中,自定义手势可以成为体验中有趣的部分。而在其他应用程序中,最好使用标准的手势,这样用户就无需额外去发现或记住它们。
避免使用标准手势来完成非标准操作。除非你的应用程序是玩法活跃的游戏,否则,重新定义标准手势的意义会导致混乱和复杂。
不要阻碍系统的屏幕边缘手势。除了标准的手势,一些额外的手势还会调用系统范围的操作。比如,通过从屏幕的边缘滑过显示主屏幕(在支持的iphone上)、控制中心、通知中心(在iPad上)和Dock(在iPad上),用户使用每个应用程序都很依赖这些手势。在极少情况下,像游戏这样的沉浸式应用程序可能需要自定义的屏幕边缘手势,这些手势优先于系统的手势——第一次滑动调用了应用程序的特定手势,而第二次滑动则调用了系统手势。这种行为(称为边缘保护)应该很少执行,因为它使得用户更难进入系统级的操作。
提供快捷手势来补充基于接口的导航和操作,但不是替换。尽可能提供一种简单的、可视的方法来导航或执行操作,即使它意味着多一两次点击。许多系统应用程序有一个导航栏,它为上一个屏幕提供了一个清晰的、可切换的按钮,但用户也可以通过从屏幕一侧滑动来返回导航。在iPad上,用户可以通过按下Home键或使用一个四指捏手势退出到主屏幕。
使用多点手势来增强一些应用的体验。虽然多点手势并不适合每个应用,但可以丰富一些应用程序的体验,比如游戏和绘图应用。例如,一个游戏可能包括多个屏幕控制,例如操纵杆和射击按钮,让它们可以同时操作。
开发指导请查阅 UIGestureRecognizer。
8.1 标准手势
用户通常期望下面的标准手势在整个系统和每个应用程序中都是相同的。
1)点击。激活控件或选中项目。
2)拖放。将元素从一边移到另一边或在屏幕上拖动元素。
3)轻扫。滚动或快速平移。
4)滑动。当用一个手指操作时,返回到上一个屏幕,在分屏视图控制器中显示被遮挡的视图,在表视图中显示删除按钮,或者在peek中显示动作。当在iPad上用四个手指进行操作时,在应用程序之间切换。
5)双击。放大并且显示内容或图像的中心,如果已经放大则表示缩小。
6)捏。向外捏时放大,向内捏时缩小。
7)点击并长按。当在可编辑或者可选择的文本中使用时,显示光标位置的放大视图。当在某种视图中使用时,比如集合视图,进入允许项目重新排列的模式。
8)摇晃。触发撤销操作或者重做操作。
九、近场通信(Near Field Communication)
近场通信(NFC)使设备能够在非常近的距离内(在几厘米之内)无线交换信息。在支持设备上运行的iOS应用程序可以使用NFC扫描来读取连接到真实世界对象的电子标签上的数据。例如,一个用户可以扫描一个玩具来与一个视频游戏连接,购物者可以扫描店内的标志来获取优惠券,或者零售员工可以扫描产品来追踪库存。一个应用程序可以启用单或多目标扫描,当用户需要扫描某样东西时,系统就会显示一个扫描表。
不要鼓励用户接触目标对象。要扫描一个标签,iOS设备必须离标签很近,但不需要触摸标签。要求用户扫描对象时,使用“扫描scan”和“hold near”这样的术语,而不是“点击tap”和“触摸touch”。
用通俗易懂的术语。一些人可能不熟悉近场通信这个概念,为了使其通俗易懂,避免提及技术、面向开发的术语,如NFC、核心NFC、近场通信和标签。相反,使用大多数人都能理解的友好对话式的术语。
为扫描件提供简明的指导文本。提供完整的句子,并用句号。确定要扫描的对象,并为后续扫描适当地修改文本。保持文本简短,以避免截断。
开发指导请查阅 Core NFC.
十、撤销和重做(Undo and Redo)
许多应用程序允许用户摇动设备来撤销和重做某些操作,比如输入或删除。触发这个动作时,应该有个警报问用户确认或者取消这个撤销\重做操作。
简要精确地描述要撤消或重做操作。撤销和重做警报标题会自动包含“撤销”或“重做”的前缀(包括尾随空格)。您需要提供额外的一两个词来描述到底是撤销\重做什么,放在这个前缀之后。例如,您可以创建警报标题,如“撤销名字”或“重做地址更改”。
如果您使用摇动手势来撤销和重做,不要将其用于其他操作。虽然您可以通过编程的方式赋予摇动手势多种含义,但可能有使用户迷惑和使应用程序无法预测的风险。
谨慎提供撤销和重做按钮。当应用程序提供多种方式来执行相同的任务时,它会让人感到迷惑。如果你的应用程序确实需要撤销和重做按钮,请使用标准系统提供的图标,并将它们放在一个预期的位置,比如导航栏。
仅在当前情景下使用撤销和重做操作。撤销和重做操作应该对当前的情景有明确迅速的反应,而不是之前的。
开发指导请参阅Undo Architecture。