“ Control Click”是否与macOS的“右键单击”相同?

问题描述 投票:0回答:1

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

我为文本字段分配菜单。

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

我已将此secondary click等于click on the right side打开。

enter image description here

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

enter image description here

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

enter image description here

这就是我想要的。

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

问题:

  1. 启用Control Click时,right click是否与secondary click on the right side相同?
  2. 为什么macOS无法识别?
  3. 为什么在地狱中看到macOS上下文菜单?
swift macos nstableview nstextview nsmenu
1个回答
0
投票

按住Control键并单击鼠标右键是两个单独的事件。也就是说,应用程序可以区分它们。

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

我不确定您为什么会看到两种不同的菜单,具体取决于您使用哪种点击。我的猜测是,它们的目标是两个不同的视图:表行视图与表单元格视图以及表单元格视图内的视图(如果单元格视图具有子视图)。我们需要详细了解您如何设置的确切信息。

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

© www.soinside.com 2019 - 2024. All rights reserved.