我已经实现了一个自定义的NSView(标记为),并且能够获得mouseUp:,mouseDown:和mouseMoved:events。为此,我有AcceptFirstResponder返回YES,并在awakeFromNib中调用以下内容:
[[self window] makeFirstResponder:self];
[[self window] seAcceptsMouseMovedEvents:true];
然而,非常奇怪的是,如果我单击并拖动,mouseMoved:events将停止进入,直到我松开鼠标按钮并获得mouseUp:
我已经看过其他相关帖子,但是他们都说如果视图是第一响应者(并且它是),那么我应该接收这些事件。
为什么mousemoved:事件停止?
答案 0 :(得分:5)
-(void)mouseDragged:(NSEvent *)event
调用而不是
-(void)mouseMoved:(NSEvent *)event
当鼠标左键按下时。因此,如果您在这两种情况下都需要做任何事情,请从这两种方法中调用一种常用方法。