在'addLocalMonitorForEventsMatchingMask'中一起管理NSEventMask

d00*_*dle 1 cocoa nsevent swift

我有以下代码用于侦听视图外的鼠标事件(NSView的子类).这很好用,但我无法弄清楚如何将NSEventMasks一起管道.我基本上想要启动相同的事件监听器NSEventMask.LeftMouseDownMask,NSEventMask.RightMouseDownMask并且NSEventMask.OtherMouseDownMask.

有谁知道如何将它们连接在一起,或者甚至可以在Swift中使用它们?

工作代码

localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask(NSEventMask.LeftMouseDownMask) { (event: NSEvent) -> NSEvent? in

        // Event handling...

        return event
    }
Run Code Online (Sandbox Code Playgroud)

pbo*_*dsk 5

这个答案可能对你有帮助.

简而言之,您现在可以使用数组,因此这似乎使编译器感到满意:

localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask([.LeftMouseDownMask, .RightMouseDownMask, .OtherMouseDownMask]) { (event: NSEvent) -> NSEvent? in

    // Event handling...

    return event
}
Run Code Online (Sandbox Code Playgroud)