【问题标题】:mouseMoved event stopping when mouse is downmouseMoved 事件在鼠标按下时停止
【发布时间】:2013-05-24 13:35:19
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: cocoa user-interface nib mouseup


    【解决方案1】:
    -(void)mouseDragged:(NSEvent *)event
    

    被调用而不是

    -(void)mouseMoved:(NSEvent *)event
    

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

    【讨论】:

    • 谢谢,多么明确而简单的答案!我希望所有的问题都有这么好的答案(:
    猜你喜欢
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多