尝试阅读《Human Interface Guidelines》原文翻译学习iOS设计指南。
模态是一种设计技术,能够让用户将注意力从当前的状态转移到一个临时呈现内容的模式,并且需要一个精确的操作才能退出这种模式,用模态的模式呈现内容可以:
1.使人们专注于一个专门的任务或一组紧密联系的选项;
2.确认用户接收到信息,并且在必要时候处理重要信息。
iOS提供的模态控件有ALerts,Activity Views (or Share sheets),和 Action Sheets,可以在特定的情况下使用,iOS 13和之后的额版本支持以下的自定义模态内容:
工作表
工作表的展示样式显示为部分覆盖基础内容的卡片,并且使未覆盖的区域变暗,以免用户与其交互。父视图或先前卡片的顶部边缘隐藏在当前卡片的底部,以免用户忘记他们先前进行的任务,人们可以通过以下的方式取消模态卡片:
1.从屏幕上方滑下;
2.当卡片内容滚动到顶部时,从屏幕上的任何地方向下滑;
3.点击一个按钮。
使用工作表处理非沉浸式模态内容时候不支持复杂任务
全屏
满屏样式覆盖整个屏幕,先前的视图是完全覆盖的,最小化视觉干扰,通过点击按钮可以取消满屏的模态视图。
使用满屏的模态视图来展示沉浸式的内容——如音频、图像或照相机——复杂的任务适合用全屏,如组织一个文档或编辑照片
Note:
如果你是用上下文模态视图样式在一个分割视图窗格、弹出窗口或其他非全屏视图中展示模态内容,你在紧凑的信息环境中显示模态内容时,应该切换使用工作表
在模态工具有意义的时候使用
只有在把人们的注意力集中在做选择或完成一个不同于当前任务的新任务时,才创造一个模态体验。一个模态体验的任务会使人们从当前的上下文内容中脱离,并且需要一个具体的操作来取消这个模态任务,所以必须在它能提供一个显著效果的时候才使用模态。
保留传递重要信息的Alerts,最好是可行的信息
通常Alerts出现是因为有什么东西出错的,一个Alert会中断体验,需要一个点击才能取消这种中断,所以要让人觉得这种打断是有合理的。
让模态任务保持简单,并且非常集中
避免在一个app里面再创造一个app,如果一个模态任务太复杂,用户会在进入一个模态任务后忘记先前中断的任务。在创建包含视图层次的模态任务的时候需要特别地注意,因为用户可能会迷失或者忘记返回步骤。如果模态任务必须包含子视图,在层次结构中要提供一个单一路径,并且提供清晰的完成路径。除非完成了任务,否则避免使用完成按钮。
总是包含一个能够取消模态视图的按钮
例如,你可能会使用完成或取消,包括一个按钮确保模态视图可以被辅助技术访问,并且提供一个可选择的取消手势。
必要时,在取消一个模态按钮之前,可以通过再次确认帮助用户防止数据的丢失
不管人们是否使用解雇手势或按钮来关闭视图,如果这个操作会导致用户生成的内容丢失,显示一个action sheet来解释这个情况,并且让用户有方式能够解决它。
不要在popover的上层出现卡片
你可以在popover之中使用卡片,但是不可以在popover的上层使用卡片(Alert除外),在极少数情况下,你需要在用户操作了popover后使用卡片,并且在显示卡片之前就要关闭弹出窗口。
通常,显示标识模态任务的标题
让人们进入一个模态任务他们会选择切换出之前的任务,所以最好让新的内容清晰,你还可以在其他部提供一个更全面的任务描述或提供一定的指南。
协调应用程序和模态视图的外观
比如,当一个模态视图需要包含导航条,它应该使用和应用程序中的导航条保持一致。
选择在应用程序中有意义的模态转换样式
使用一个和应用程序协调的转换样式,增强临时上下文的转换意识。默认的转换方式是垂直地从屏幕底部向上滑起,当它被删除的时候再向下滑动。在整个应用程序中都是用一致的模态转换样式
END.THANKS FOR YOUR READING~
如有不当,还请多多指教~