`Control Click` 是否与 macOS 的 `right click` 相同?

Is `Control Click` meant to be the same as the `right click` for macOS?

我有一个 NSTableView,其中的单元格是 NSTextFields

我为文本字段分配了一个菜单。

菜单应该在我右键单击单元格时打开。

我打开了这个 secondary click 等于 click on the right side

我右键单击该单元格,我在下面看到 macOS 上下文菜单:

Control Click 在单元格上,我看到 NSMenu 我创建的

这就是我想要的。

如果我在设置中禁用 secondary click,当我右键单击时,单元格进入编辑模式,当我控制单击时,我创建的 NSMenu 显示。

问题:

  1. 当启用secondary click on the right side时,Control Click不是和right click一样吗?
  2. 为什么 macOS 无法识别?
  3. 我到底为什么会在那里看到 macOS 上下文菜单?

按住 Control 单击和右键单击是两个独立的事件。也就是说,一个应用可以区分它们。

Cocoa 视图的默认行为是按住 Control 单击和右键单击以打开上下文菜单。所以,从这个意义上说,它们几乎总是具有相同的效果。

我不确定为什么您会看到两个不同的菜单,具体取决于您使用的点击类型。我的猜测是他们针对两种不同的视图:table 行视图与 table 单元视图与 table 单元视图内的视图(如果单元视图具有子视图) .我们需要了解更多有关您具体设置方式的详细信息。

通常,您应该在 table 视图本身上设置一个菜单,并使其操作在 table 的 clickedRow 上运行。