在 iOS 13 及更高版本中,你可以使用上下文菜单,让人们访问与屏幕项目相关的其他功能,而不会使界面变得混乱。

    截屏2019-10-25下午6.06.50.png

    「上下文菜单」类似于「弹窗预览」,但有两个关键区别:

    • 「上下文菜单」可在运行 iOS 13 及更高版本的所有设备上使用;「弹窗预览」仅在支持 3D Touch 的设备上可用。
    • 「上下文菜单」立即显示与场景相关的命令;「弹窗预览」需要向上轻扫才能查看命令。

    要显示「上下文菜单」,人们可以使用系统定义的触摸和按住手势或 3D Touch(3D Touch 可以使上下文菜单更快地显示)。打开时,「上下文菜单」将显示项目的预览,并列出对该项目执行操作的命令。用户可以选择命令或将项目拖动到其他区域、窗口或应用。

    持续的使用「上下文菜单」。如果你为某些地方的项目提供「上下文菜单」,但在另一些地方没有提供,那么人们就不知道他们在哪里可以使用该功能,并且可能会认为你的应用有问题。

    仅包括应用于该项目的最常见命令。例如,在「邮件」的「上下文菜单」中,包含用于回复和移动邮件的命令是有意义的,但包含格式或邮箱命令没有意义。列出太多的命令可能会让人不知所措。

    使用子菜单来管理复杂性。子菜单是「上下文菜单」项,显示逻辑相关命令的二级菜单。为子菜单提供描述其内容的直观标题,以便人们无需显示子菜单的命令即可预测它们。简洁、面向操作的标题还让用户跳过当前场景中不需要的子菜单。

    将子菜单保留为一个级别。尽管子菜单可以缩短「上下文菜单」并阐明用户可以执行的命令,但多个级别的子菜单会使体验复杂化,并且是用户难以进行导航。

    将最常用的项目放在菜单顶部。当人们打开上下文菜单时,焦点在菜单的顶部区域。将最常见的项目放在菜单顶部,有助于人们找到要查找的项目。

    使用分隔符对上下文菜单项进行分组。创建可视化分组可以帮助人们更快地浏览菜单。例如,可以使用分隔符将编辑相关的操作分组,同时将分享相关的操作分组。通常,「上下文菜单」中不要超过三个组。

    不要为同一项目提供「上下文菜单」和编辑菜单。当为一个项目同时启用两个功能时,会使用户感到困惑,同时也使系统难以明确意图。有关其他指导,请参阅编辑菜单

    不要提供打开项目预览的操作按钮。用户可以通过点击来打开正在预览的项目,因此通常无需提供明确的「打开」按钮。

    有关开发人员指南,请参阅 UIContextMenuInteraction