Loading 加载
1.正在加载时请清楚显示
至少要显示一个活动微调器,以传达正在发生的事情。 更好的是,显示明确的进度,以便用户可以评估他们等待的时间。
2.尽快显示内容
不要让人们在看到内容之前等待内容加载。 立即显示屏幕,并使用占位符文本,图形或动画来标识尚不可用的内容。 在内容加载时替换这些占位符元素。 只要有可能,就在后台提前加载即将到来的内容,例如在播放动画或用户导航级别或菜单时
3.教育或娱乐人们以掩盖加载时间
考虑显示有关游戏玩法,有趣的视频序列或有趣的占位符图形的提示。
4.自定义加载屏幕
尽管标准进度指示器通常是可以的,但有时可能会脱离上下文。 考虑通过与您的应用程序或游戏的风格相匹配的自定义动画和元素来设计更沉浸的体验。
Modality 模态
模态是一种设计技巧,它以一种临时模式来呈现内容,该模式与用户先前的当前上下文是分开的,并且需要明确的操作才能退出。 以呈现内容模态可以:
帮助人们专注于一个独立的任务或一组紧密相关的选项
确保人们收到关键信息,并在必要时采取行动
iOS提供在特定情况下在应用程序中使用的警报,活动视图(或共享表)和操作表。 为了在您的应用程序中显示自定义模式内容,iOS 13及更高版本支持以下演示样式。
Sheet卡片
工作表演示样式显示为一张卡片,其中的卡片部分覆盖了基础内容,并使所有未覆盖区域变暗以防止与它们进行交互。 父视图或上一张卡片的顶部边缘在当前卡片后面可见,以帮助人们记住他们在打开卡片时暂停的任务。 人们通过以下方式解散卡:
从屏幕顶部向下滑动
卡内容滚动到顶部时,从屏幕上的任何地方向下滑动
点击一个按钮
将工作表用于无法完成复杂任务的非沉浸式模式内容。
need-to-insert-img
全屏
全屏演示风格涵盖了整个屏幕。 先前的视图已完全覆盖,从而将视觉干扰降至最低。 人们通过点击按钮来关闭全屏模式视图。
使用全屏模式视图查看沉浸式内容(例如视频,照片或相机视图),或使用受益于全屏演示的复杂任务(例如标记文档或编辑照片)
注意
如果您使用当前的模式视图样式在拆分视图窗格,弹出窗口或其他非全屏视图中显示模式内容,则在紧凑环境中显示模式内容时,应切换为使用sheet。
1.在有意义时使用模态。
仅在将人们的注意力集中在做出选择或执行与当前任务不同的任务上非常关键时,才能创建模态体验。模态体验会使人们脱离当前环境,需要采取行动才能解雇,因此只有在提供明显好处时才使用它是必不可少的。
2.保留警报,以提供重要且理想的可操作信息。
通常出现问题会出现警报。由于警报会中断体验,并且需要轻按才能将其关闭,因此让人们感到警报是必要的,这一点很重要。有关指导,请参阅警报。
3.使模态任务简单,简短且重点狭窄。
避免在您的应用程序内创建应用程序。如果模态任务太复杂,当人们进入模态上下文时,他们可能会忽略他们暂停的任务。尤其要谨慎地创建涉及视图层次结构的模态任务,因为人们可能会迷失方向,而忘记了如何追溯其步骤。如果模态任务必须包含子视图,请提供通过层次结构的单个路径以及完成的清晰路径。除完成任务外,避免将“完成”按钮用于其他任何事情。
4.始终包含一个退出模态视图的按钮。
例如,您可以使用“完成”或“取消”。包含按钮可确保辅助技术可以访问模式视图,并提供解雇手势的替代方法。
5.必要时,通过在关闭模式视图之前进行确认来帮助人们避免数据丢失。
不管人们是使用关闭手势还是按钮来关闭视图,如果该动作可能导致用户生成的内容丢失,请出示说明情况并提供解决方法的动作表。
6.不要显示显示在弹出式窗口顶部的卡片。
尽管您可以在弹出窗口内显示卡片,但弹出窗口上层不应显示任何内容(除了可能会出现警报)。在极少数情况下,当人们在弹出窗口中执行操作后需要出示卡片时,请在显示卡片之前关闭弹出窗口。
7.通常,显示可以说明模态任务的标题。
当人们进入模态任务时,他们会从先前的上下文中切换出来,因此最好使新的上下文清晰明了。您还可以在视图的其他部分提供文本,以更完整地描述任务或提供指导。
8.协调模态视图外观与您的应用程序。
例如,当模式视图包含导航栏时,其外观应与应用程序中的导航栏相同。
9.选择在您的应用中有意义的模式过渡样式。
使用与您的应用程序相协调的过渡样式,并增强对临时上下文转移的意识。默认过渡会在模式视图从屏幕底部垂直向上滑动,并在关闭后向后滑动。在整个应用中使用一致的模式过渡样式。
导航
人们往往不会意识到应用程序的导航,直到它无法达到他们的期望。 您的工作是以一种支持应用程序结构和目的的方式实施导航,而不会引起对自身的关注。 导航应该自然而又熟悉,不应主宰界面或将焦点从内容移开。 在iOS中,有三种主要的导航样式。
分层导航
每个屏幕选择一个选项,直到到达目的地。 要去另一个目的地,您必须回溯您的步骤或从头开始,并做出不同的选择。 设置和邮件使用此导航样式。
平级导航
在多个内容类别之间切换。 音乐和App Store使用此导航样式。
内容驱动或体验驱动的导航
在内容之间自由移动,或者内容本身定义导航。 游戏,书籍和其他沉浸式应用通常使用这种导航样式。
该图显示了由单头箭头连接的九个圆圈。 一些圈子恰好连接到另一个圈子,而其他圈子则连接到多个圈子。 该图建议通过一组九个位置的随机路径。
一些应用程序结合了多种导航样式。 例如,使用平面导航的应用程序可以在每个类别内实施分层导航。
1.始终提供清晰的路径。
人们应该始终知道他们在应用程序中的位置以及如何到达下一个目的地。无论采用哪种导航方式,至关重要的是,内容的路径必须合理,可预测且易于遵循。通常,给人们一个通往每个屏幕的路径。如果他们需要在多个上下文中查看屏幕,请考虑使用操作表,警报,弹出窗口或模式视图。
2.设计一种信息结构,以使其快速而轻松地获取内容
以最少的点击,滑动和显示屏幕的方式来组织信息结构
3.使用触摸手势创建流畅性
轻松以最小的摩擦力在界面中移动。例如,您可以让人们从屏幕侧面滑动以返回上一个屏幕。
4.使用标准导航组件
尽可能使用标准导航控件,例如页面控件,标签栏,分段控件,表视图,集合视图和拆分视图。用户已经熟悉这些控件,并且会直观地知道如何使用您的应用程序。
5.使用导航栏遍历数据层次结构。
导航栏的标题可以显示层次结构中的当前位置,而“后退”按钮可以轻松地返回到上一个位置。
6.使用标签栏显示内容或功能的同级类别。
标签栏使人们可以快速轻松地在类别之间进行切换,而与当前位置无关。
7.当您具有内容类型相同的多个页面时,请使用页面控件。
页面控件清楚地传达了可用的页面数以及当前处于活动状态的页面。天气应用程序使用页面控件来显示特定位置的天气页面。
启动页
启动时间是您吸引新用户并与回访者重新建立联系的第一个机会。 设计快速,有趣且具有教育意义的发布体验。
1.提供启动屏幕
您的应用启动后会出现启动屏幕,给您的印象是您的应用快速且响应迅速,同时允许加载初始内容。此屏幕很快被您应用的第一个屏幕替换,因此,除了可本地化的文本和交互式元素之外,它应与该屏幕非常相似。
2.以适当的方向启动
如果您的应用同时支持纵向和横向模式,则应使用设备的当前方向启动。如果您的应用仅以一种方向运行,则应始终以该方向启动,并在必要时让人们旋转设备。除非有令人信服的理由,否则无论设备向左还是向右旋转,处于横向模式的应用程序都应正确定位自己的方向。有关其他指导,请参见适应性和布局。
3.快速采取行动
避免显示启动屏幕,菜单和说明,以免花费更长的时间才能到达内容并开始使用您的应用。而是让人们直接进入。如果您的应用需要教程或介绍序列,请提供一种跳过它们的方法,并且不向回头用户显示。
4.预期需要帮助
主动寻找人们可能被困住的时间。例如,游戏在暂停或角色前进时可能会随意显示有用的提示。如果用户第一次错过某些内容,可以让他们重播教程。
5.坚持教程中的要点
可以为初学者提供指导,但是教育并不能替代出色的应用程序设计。首先,使您的应用程序直观。如果需要太多指导,请重新思考应用程序的设计。
6.使学习变得有趣且容易发现
边做边学比阅读一系列说明更加有趣和有效。使用动画和互动性逐步进行教学并在上下文中进行教学。避免显示显示为交互式的屏幕截图。
7.避免事先询问设置信息
人们只是期望应用程序可以运行。为大多数用户设计应用程序,让少数希望使用不同配置的用户调整设置以满足他们的需求。尽可能从设备设置和默认值或通过同步服务(例如iCloud)获取设置信息。如果您必须要求提供设置信息,请在应用内进行首次提示,然后让用户稍后在您的应用设置中可以对其修改。
8.避免显示应用内许可协议和免责声明
在下载应用程序之前,让App Store显示协议和免责声明。如果您必须在应用程序中包含这些项目,请以平衡的方式集成它们,而不会破坏用户体验。
9.当您的应用重启时,恢复以前的状态
不要让人们追溯步骤以到达他们在您的应用中的先前位置。保留并还原您应用的状态,以便他们可以从中断的地方继续。
10.不要要求别人对您的应用程序进行过快或过高的评分
太早或太频繁地要求评分很烦人,并且减少了您收到的有用反馈的数量。为了鼓励经过深思熟虑的反馈,请人们花时间对您的应用发表意见,然后再要求进行评级。始终提供一种退出评级提示的方式,绝不要强迫用户对您的应用进行评级。
11.不要鼓励重启
重新启动会花费一些时间,并使您的应用看起来不可靠且难以使用。如果您的应用程序存在内存或其他问题,除非系统刚刚启动,否则很难运行,您需要解决这些问题。
申请许可
用户必须授予应用访问个人信息的权限,包括当前位置,日历,联系信息,提醒和照片。 尽管人们喜欢使用可以访问此信息的应用程序所带来的便利,但他们也希望能够控制自己的私人数据。 例如,人们喜欢能够自动标记其实际位置的照片或找到附近的朋友,但他们也希望选择禁用这些功能。
仅在您的应用明确需要时才请求个人数据。 例如,一个应用程序可能仅在激活位置跟踪功能时才请求访问当前位置。
说明您的应用为何需要该信息。 提供自定义文本(称为目的字符串或用法描述字符串)以显示在系统的权限请求警报中,并提供示例。 保持文字简短明了,使用句子大写,并保持礼貌,以使人们不会感到压力。 无需添加您的应用名称-系统已经可以识别您的应用。
例子
正确:该应用程序会在夜间记录您的声音,以检测打呼的声音。
错误:需要使用麦克风才能获得更好的体验。
错误:打开麦克风访问权限。
1.仅在您的应用需要运行时才在启动时请求权限
如果您的应用程序明显依赖于其个人信息进行操作,则用户不会对此请求感到困扰。
2.不要不必要地请求位置信息
在访问位置信息之前,请检查系统以查看是否启用了位置服务。 有了这些知识,您可以将警报延迟到某个功能真正需要它之前,或者完全避免警报。 要了解如何实现位置功能,请参见MapKit和位置和地图编程指南。
3.使用系统提供的警报
您可以在标准权限警报中自定义文本,但要避免添加自定义提示来复制标准警报的行为或外观。
设置
某些应用程序可能需要提供一种方法来进行设置或配置选择,但大多数应用程序可以避免或延迟这样做。成功的应用程序立即对大多数人有效,同时还提供了一些方便的方式来调整体验。当您设计应用程序以使其满足大多数人的期望时,您就可以减少设置需求。
1.从系统推断您可以做什么
如果您需要有关用户,设备或环境的信息,请在可能的情况下向系统查询,而不是询问用户。例如,不要要求某人输入他们的邮政编码,以便您可以显示本地选项,而是要征得使用其当前位置的许可。如果用户拒绝访问其信息,则可以正常地退回到手动输入。
2.全方位的考虑应用程序中的选项配置的优先级。
应用的主屏幕是一些必不可少的或经常更改的选项,辅助屏幕最好用于仅偶尔更改的选项。
3.在“设置”中公开不经常更改的配置选项
设置应用程序是在整个系统中进行配置更改的中心位置,但是人们必须离开应用程序才能到达那里。直接在您的应用中调整设置要方便得多。如果必须提供很少需要更改的设置,请参阅《偏好和设置编程指南》中的“实现iOS设置捆绑包”以获取开发人员指南。
4.适当时提供设置的快捷方式
如果您的应用程序包含将用户定向到设置的文本,例如“转到设置> MyApp>隐私>位置服务”,请提供一个自动打开该位置的按钮。 有关开发人员的指导,请参见UIApplication中的openSettingsURLString。
网友评论