我将selectWord:视为NSResponder动作消息,并且我很天真地假设,如果在NSTextView的子类上实现selectWord:,则可以捕获单词选择(通过双击)。但是,这当然不那么容易。但是,至少在命令A键盘事件中,我可以捕获selectAll :(但不能通过其他方式操纵选择)。
我一定想念一些可可事件处理的绝大部分,在这里我要问我想念的是什么。
最佳答案
我的猜测是您发现双击选择一个单词不会调用-selectWord:
。
您可以尝试改写-mouseDown:
,然后检查NSEvent的clickCount
来确定它是否是双击。
另一个想法:
文本视图不调用-selectWord:
的原因可能不是该方法执行的。从文档中,它“将选择范围扩展到其外部最近的单词边界(最多但不包括单词定界符)”。由于其参数不是鼠标事件,因此它甚至不知道单击发生在何处。因此,-mouseDown:
不能成为其中一个。
关于macos - 如何实现NSResponder Action 消息selectWord?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15315997/