2015-12-21 87 views
1

我有以下代码用于侦听视图(NSView的子类)以外的鼠标事件。这工作得很好,但我不知道如何将NSEventMasks一起管道。我基本上想要在NSEventMask.LeftMouseDownMaskNSEventMask.RightMouseDownMaskNSEventMask.OtherMouseDownMask上触发相同的事件侦听器。管道NSEventMask在'addLocalMonitorForEventsMatchingMask'

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

工作代码

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

     // Event handling... 

     return event 
    } 

回答

5

This answer可以帮助你。

总之你现在可以使用数组,所以这似乎使编译器高兴:

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

    // Event handling... 

    return event 
} 
+0

事实上,编译器是幸福:-) – d00dle