我将selectWord:视为NSResponder动作消息,并且我很天真地假设,如果在NSTextView的子类上实现selectWord:,则可以捕获单词选择(通过双击)。但是,这当然不那么容易。但是,至少在命令A键盘事件中,我可以捕获selectAll :(但不能通过其他方式操纵选择)。

我一定想念一些可可事件处理的绝大部分,在这里我要问我想念的是什么。

最佳答案

我的猜测是您发现双击选择一个单词不会调用-selectWord:

您可以尝试改写-mouseDown:,然后检查NSEvent的clickCount来确定它是否是双击。

另一个想法:

文本视图不调用-selectWord:的原因可能不是该方法执行的。从文档中,它“将选择范围扩展到其外部最近的单词边界(最多但不包括单词定界符)”。由于其参数不是鼠标事件,因此它甚至不知道单击发生在何处。因此,-mouseDown:不能成为其中一个。

关于macos - 如何实现NSResponder Action 消息selectWord?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15315997/

10-13 03:37