在Cocoa中,当鼠标按下(但不移动)时,我的NSView如何接收事件?

时间:2010-08-11 19:42:29

标签: cocoa events mouse tracking

我正在寻找正确的方法来处理我的NSView子类中的“鼠标停留在一个地方”事件。

我熟悉Cocoa的mouseDragged:事件,但它仅在鼠标移动时触发。如果鼠标停留在相同位置,则不会触发拖动事件。同样,mouseDown:仅在首次按下按钮时触发。只要在特定区域按住鼠标,我的视图就需要执行操作。

做这种事的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

您是否可以在收到mouseDown:活动时开始执行操作,并在收到mouseUp:时停止(或mouseDragged:,如果您想要停止)?

答案 1 :(得分:2)

我不确定您要完成的是什么,但是如果您希望在mouseDown:之后的设定时间间隔重复操作,则可以在mouseDown:中设置重复的NSTimer如果有mouseDragged:mouseUp:事件,则会立即取消该方法。