2

我正在尝试将 isAlternative 属性与带有自定义视图的 NSMenuItem 一起使用。如果没有自定义视图,它就不会像标准的 NSMenuItem 那样表现。将 NSMenuItems 与自定义视图一起使用时,如何获得标准的修饰键切换行为?

标准菜单项行为

添加一个菜单项。使用 .isAlternate == true 和 .keyEquivalentModifierMask = [ .option ](或其他适当的修饰键)添加一个附加菜单项。

显示菜单时,显示第一个菜单项。按住修改键时,原始菜单项将替换为备用菜单项。

自定义菜单项行为

添加具有自定义视图的菜单项。使用 .isAlternate == true 和 .keyEquivalentModifierMask = [ .option ](或另一个适当的修饰键)添加一个带有自定义视图的附加菜单项。

显示菜单时,始终显示原始菜单项和备用菜单项,而不是标准切换行为。

参考

GitHub 示例项目

4

1 回答 1

0

如何设置备用NSMenuItem

  1. 设置isAlternatetrue
  2. 定义一个keyEquivalentModifierMask
let alternativeMenuItem = NSMenuItem("alternative", action: nil, keyEquivalent: "")
alternativeMenuItem.isAlternate = true
alternativeMenuItem.keyEquivalentModifierMask = [.option]
于 2022-01-06T14:21:26.523 回答