【问题标题】:Is `Control Click` meant to be the same as the `right click` for macOS?`Control Click` 是否意味着与 macOS 的`右键单击` 相同?
【发布时间】:2019-12-27 14:56:53
【问题描述】:

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

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

当我右键单击单元格时,应该会打开菜单。

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

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

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

这就是我想要的。

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

问题:

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

【问题讨论】:

    标签: swift macos nstableview nstextview nsmenu


    【解决方案1】:

    Control-click 和 right-click 是两个独立的事件。也就是说,应用可以区分它们。

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-12-15
      • 2013-05-12
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 2019-02-15
      • 2014-08-15
      • 1970-01-01
      相关资源
      最近更新 更多