0

我已经实现了一个自定义 NSView(标记为 )并且能够获取 mouseUp:、mouseDown: 和 mouseMoved: 事件。为此,我接受了返回 YES 的 AcceptFirstResponder,并且还在 awakeFromNib 中调用了以下命令:

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

然而,非常奇怪的是,如果我单击并拖动,mouseMoved: 事件会停止出现,直到我松开鼠标按钮并获得 mouseUp:

我看过其他相关的帖子,但他们都说如果视图是第一响应者(确实是),那么我应该收到这些事件。

为什么鼠标移动:事件停止?

4

1 回答 1

6
-(void)mouseDragged:(NSEvent *)event

被称为而不是

-(void)mouseMoved:(NSEvent *)event

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

于 2013-05-24T13:54:12.687 回答