鼠标停止时mouseMoved事件停止

时间:2013-05-24 13:35:19

标签: cocoa user-interface nib mouseup

我已经实现了一个自定义的NSView(标记为),并且能够获得mouseUp:,mouseDown:和mouseMoved:events。为此,我有AcceptFirstResponder返回YES,并在awakeFromNib中调用以下内容:

[[self window] makeFirstResponder:self];
[[self window] seAcceptsMouseMovedEvents:true];

然而,非常奇怪的是,如果我单击并拖动,mouseMoved:events将停止进入,直到我松开鼠标按钮并获得mouseUp:

我已经看过其他相关帖子,但是他们都说如果视图是第一响应者(并且它是),那么我应该接收这些事件。

为什么mousemoved:事件停止?

1 个答案:

答案 0 :(得分:5)

-(void)mouseDragged:(NSEvent *)event
调用

而不是

-(void)mouseMoved:(NSEvent *)event

当鼠标左键按下时。因此,如果您在这两种情况下都需要做任何事情,请从这两种方法中调用一种常用方法。