如何从 ViewController 中的 NSOutlineView 捕获 doubleClick 事件?

2024-05-01

我正在尝试从 NSOutlineView 捕获 doubleClick 事件并将其传递给 ViewController。我的想法是捕获 doubleClick 事件并从 OutlineView 中获取所选行 到目前为止我所做的是子类化 NSOutlineView 以覆盖 mouseDown

override func mouseDown(with event: NSEvent) {
   super.mouseDown(with: event)
   if event.clickCount >= 2 {
      ... 
   }
}

这很好用,但我不知道如何将此事件传递给我的 ViewController。 ViewController 已经实现了 NSOutlineViewDelegate 协议。

我想解决方案并不遥远,但不知何故我被困住了。


UPDATED虽然你可以设置NSGestureRecognizer单击和NSClickGestureRecognizer对于 OSX 中的双击,您可能应该使用doubleAction的财产NSOutlineView直接地。

Here's an example of how to set it up enter image description here

这来自另一个文德利希教程 https://www.raywenderlich.com/123463/nsoutlineview-macos-tutorial,并且有一个很好的讨论已经这样了 https://stackoverflow.com/questions/620603/double-click-an-nstableview-row-in-cocoa

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 ViewController 中的 NSOutlineView 捕获 doubleClick 事件? 的相关文章

随机推荐