我有以下代码用于监听视图外的鼠标事件(NSView的子类)。这很好用,但我无法弄清楚如何将NSEventMasks一起管道。我基本上希望在NSEventMask.LeftMouseDownMask
,NSEventMask.RightMouseDownMask
和NSEventMask.OtherMouseDownMask
上触发相同的事件监听器。
有没有人知道如何将它们连接在一起,或者甚至可以在Swift中使用它?
工作代码
localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask(NSEventMask.LeftMouseDownMask) { (event: NSEvent) -> NSEvent? in
// Event handling...
return event
}
答案 0 :(得分:5)
This answer可能会对您有所帮助。
简而言之,您现在可以使用数组,因此这似乎让编译器感到高兴:
localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask([.LeftMouseDownMask, .RightMouseDownMask, .OtherMouseDownMask]) { (event: NSEvent) -> NSEvent? in
// Event handling...
return event
}