【问题标题】:rightMouseDown not called until button released直到按钮释放才调用 rightMouseDown
【发布时间】:2021-04-02 18:23:54
【问题描述】:

我有一个 NSView 子类,我需要在其中检测鼠标左键和右键事件。 mouseDown: 工作得很好,但是 rightMouseDown: 在释放鼠标按钮之前不会触发,此时 down 和 up 方法都被连续调用。如何让鼠标右键按下事件立即触发对应的方法?

【问题讨论】:

  • 我很好奇你有什么硬件。我好久没有鼠标了。模拟了许多事件。如果没有额外的知识,有些是无法模拟的。
  • 感谢 cmets。在创建一个最小的例子时,我发现了问题。我将单独发布一个答案。我真的应该记住,在解决像这样的特定问题时,你应该从最小的情况开始 xD
  • 哦至于硬件 - 它是 iMac,我使用的是 Macig Trackpad 2

标签: macos cocoa nsview


【解决方案1】:

问题是我在NSView 中添加了一个NSPanGestureRecognizer,其buttonMask 设置为0x2(鼠标右键)。如果我删除或禁用此手势识别器,它允许在按下右键时调用 rightMouseDown:。我仍在尝试找出原因,但至少现在我有了一个起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2014-10-30
    • 2015-05-04
    • 2023-03-24
    • 1970-01-01
    • 2021-11-12
    • 2014-06-30
    相关资源
    最近更新 更多