gpt4 book ai didi

cocoa - 如何在 NSTableCellView 子类中接收鼠标点击?

转载 作者:行者123 更新时间:2023-12-03 16:12:34 24 4
gpt4 key购买 nike

我已经子类化了 NSTableCellView 来进行一些自定义绘图。当包含的 NSOutlineView 的突出显示样式设置为 None 时,我的 View 会收到 mouseDown 事件。
当我将 NSOutlineView 的突出显示样式更改为 Regular 时,我的 View 不再接收其 mouseDown 事件。

如何将 mouseDown 事件传递到我的 View ,同时将大纲 View 的突出显示样式保持为常规?

最佳答案

显然 NSTableView 覆盖 -hitTest: 以实现行选择/拖动等。功能 - 这可以解释为什么当突出显示样式为时没有问题。

根据 Apple Docs :

Specifying How Subviews Should Respond to Events

[...] If you create a table view subclass, you can override validateProposedFirstResponder:forEvent: to specify which views can become the first responder. In this way, you receive mouse events.

或者可选......如果事件处理对您的子类至关重要:为什么不创建一个 NSControl 子类?
根据相同的文档,对股票 TableView 类中已实现的控件进行了特殊处理。

关于cocoa - 如何在 NSTableCellView 子类中接收鼠标点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com