Cocoa 如何在NSTableCellView子类中接收鼠标单击?
我已将Cocoa 如何在NSTableCellView子类中接收鼠标单击?,cocoa,nstableview,Cocoa,Nstableview,我已将NSTableCellView子类化,以进行一些自定义绘图。当包含NSOutlineView的高亮显示样式设置为None时,我的视图将接收鼠标向下事件。 当我将NSOutlineView的突出显示样式更改为常规时,我的视图不再接收其鼠标向下事件 如何将鼠标向下事件传递到视图,同时保持大纲视图的高亮显示样式为常规?显然NSTableView覆盖-hitTest:以实现行选择/拖动/等功能-这将解释为什么高亮显示样式为无 根据: 指定子视图应如何响应事件 […]如果创建表视图子类,则可以重写v
NSTableCellView
子类化,以进行一些自定义绘图。当包含NSOutlineView
的高亮显示样式设置为None时,我的视图将接收鼠标向下事件。当我将
NSOutlineView
的突出显示样式更改为常规时,我的视图不再接收其鼠标向下事件
如何将鼠标向下事件传递到视图,同时保持大纲视图的高亮显示样式为常规?显然
NSTableView
覆盖-hitTest:
以实现行选择/拖动/等功能-这将解释为什么高亮显示样式为无
根据:
指定子视图应如何响应事件
[…]如果创建表视图子类,则可以重写validateProposedFirstResponder:forEvent:以指定哪些视图可以成为第一响应程序。这样,您将收到鼠标事件
或者选择。。如果事件处理对您的子类至关重要:为什么不创建一个NSControl
子类?根据相同的文档,stock table view类中已经实现的控件有特殊处理。NSTableCellView中的任何子视图,或者您是否在注意直接指向该视图的单击?仅此而已。在我的outline视图子类中,当responder是我的NSTableCellView子类时,我重写validateProposedFirstResponder:forEvent:以返回YES。非常感谢你。