上下文菜单可让用户访问与项目直接相关的功能,并且不会导致界面杂乱。

虽然上下文菜单提供了访问常用项目的便捷方式,但它默认隐藏,因此用户可能不知道它的存在。为了显示上下文菜单,用户通常会选取视图或选择一些内容,然后使用其当前配置支持的输入模式执行操作。例如:
选取要包括在上下文菜单中的项目时优先考虑相关性。上下文菜单并非用于提供高级或很少用的项目,而是用于帮助用户快速访问在其当前上下文中最有可能需要的命令。例如,“邮件”收件箱中的邮件对应的上下文菜单包括回复和移动邮件的命令,但不包括编辑邮件内容、管理邮箱或过滤邮件的命令。
致力于使用少量菜单项。过长的上下文菜单可能难以浏览和滚动。
在 App 中各处以一致的方式支持上下文菜单。如果针对部分位置的项目提供了上下文菜单,但未针对其他位置的项目提供,用户会不清楚在哪里可以使用相应功能,还可能认为出现了问题。
始终在主界面中同时提供上下文菜单项。例如,在 iOS 和 iPadOS 的“邮件”中,为收件箱中邮件提供的上下文菜单项还会在邮件视图的工具栏中提供。在 macOS 中,App 的菜单栏菜单会列出 App 的所有命令,包括各种上下文菜单中的命令。
如果需要使用子菜单来管理菜单的复杂度,请将其保持在一级以内。子菜单是一种菜单项,用于显示逻辑上相关的命令组成的二级菜单。虽然子菜单可缩短上下文菜单并理清其命令,但多级子菜单会使体验更复杂,还可能让用户难以导览。如果需要包括子菜单,请为它提供直观的标题以帮助用户在不打开它的情况下预测其中内容。有关指南,请参阅子菜单。
隐藏而非调暗不可用的菜单项。常规菜单有助于用户发现可执行的操作,甚至包括不可用的操作,与之不同的是,上下文菜单仅显示与当前所选视图或内容相关的操作。在 macOS 中,“剪切”、“拷贝”和“粘贴”菜单项除外,即使不适用于当前上下文,它们仍可能以不可用状态显示。
尽量将最常用的菜单项放在用户可能最先遇到的位置。上下文菜单打开时,用户通常会从与其手指或指针调出菜单位置最靠近的部分开始阅读。根据所选内容的位置,上下文菜单可能会在其上方或下方打开,因此你可能还需要倒转项目的顺序以符合菜单的位置。
在 App 主菜单中显示键盘快捷键,在上下文菜单中不显示。上下文菜单已经提供任务特定命令的快捷方式,因此再显示键盘快捷键会显得多余。
遵循使用分隔符的最佳实践。和其他类型的菜单一样,你可以使用分隔符为上下文菜单中的项目分组,并帮助用户更快浏览菜单。上下文菜单中一般不应超过约三个组。有关指南,请参阅菜单。
在 iOS、iPadOS 和 visionOS 中,提醒用户可能破坏数据的上下文菜单项。如果需要在上下文菜单中包括“删除”或“移除”等潜在的破坏性项目,请将它们在菜单末尾列出并标识为破坏性(有关开发者指南,请参阅 destructive)。系统可使用红色文本显示破坏性菜单项。
上下文菜单很少会显示标题。相反,上下文菜单中的每个项目都需要显示清楚描述其功能的短标签。有关指南,请参阅“菜单”>“标签”。
只有在上下文菜单中包括标题可阐明菜单效果时才包括。例如,当用户在 iOS 和 iPadOS 中选择“邮件”内的多封邮件并轻点“标记”工具栏按钮,出现的上下文菜单会显示说明所选邮件数的标题,以提醒用户其所选命令将影响选中的所有邮件。
通过熟悉的图标表示菜单项操作。图标有助于用户识别你 App 中的常用操作。使用与系统相同的图标表示“拷贝”、“共享”和“删除”等操作,不管它们出现在哪个位置。对于表示常用操作的图标列表,请参阅标准图标。有关更多指南,请参阅菜单。
无针对 Apple tvOS 的额外考量因素。在 watchOS 中不受支持。
为项目提供上下文菜单或编辑菜单,但勿同时提供。如果为相同项目提供这两种功能,用户可能会感到困惑,系统也可能难以检测其意图。请参阅编辑菜单。
在 iPadOS 中,考虑使用上下文菜单让用户在 App 中创建新对象。当用户在触控屏上执行长按或通过连接的触控板或键盘使用辅助点按时,iPadOS 可让你显示上下文菜单。例如,“文件”可让用户在现有文件和文件夹之间的区域显示上下文菜单,以创建新文件夹。
在 iOS 和 iPadOS 中,上下文菜单可在命令列表附近显示当前内容的预览。用户可选取菜单中的命令,在某些情况下还可轻点以打开预览或将其拖到其他区域。
首选可阐明上下文菜单命令目标的图形预览。例如,当用户在“备忘录”或“邮件”的列表项上显示上下文菜单时,预览会显示实际内容的简短版本以帮助用户确认其正在处理的是想要处理的项目。
确保预览在动态化时也有良好呈现。用户在屏幕对象上显示上下文菜单时,系统会动态化预览图像从内容处出现的过程,并调暗预览和菜单后面的屏幕。调整预览的裁剪路径以符合预览图像的形状非常重要,以便其轮廓(如圆角)在动态化过程中不会发生改变。有关开发者指南,请参阅 UIContextMenuInteractionDelegate。
在 Mac 上,上下文菜单有时称为关联菜单。
考虑使用上下文菜单而非面板或检查器窗口来呈现频繁使用的功能。尽量减少 App 打开的单独视图或窗口数量可帮助用户保持空间整洁。
一般应避免上下文菜单的高度超过窗口高度。在 visionOS 中,窗口顶部和底部边缘的上方和下方包括系统提供的组件,如窗口管理控制和“共享”菜单,因此上下文菜单过高可能会遮挡这些组件。考虑要包括的项目数时,请以用户可能使用你 App 的方式作为指导。例如,用户在使用 App 完成有深度的专业任务时,通常期望花时间了解大量复杂的命令,并可能希望通过上下文菜单访问这些命令。另一方面,用户在使用 App 执行少数简单操作时,可能喜欢可快速浏览和使用的简短上下文菜单。
有0人收藏了本文