在 'addLocalMonitorForEventsMatchingMask' 中将 NSEventMask 连接在一起
Piping NSEventMask together in 'addLocalMonitorForEventsMatchingMask'
我有以下代码用于监听视图外的鼠标事件(NSView 的子类)。这很好用,但我不知道如何将 NSEventMasks 通过管道连接在一起。我基本上想在 NSEventMask.LeftMouseDownMask
、NSEventMask.RightMouseDownMask
和 NSEventMask.OtherMouseDownMask
.
上触发相同的事件侦听器
有谁知道如何将它们组合在一起,或者在 Swift 中是否可行?
工作代码
localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask(NSEventMask.LeftMouseDownMask) { (event: NSEvent) -> NSEvent? in
// Event handling...
return event
}
可能对你有帮助。
简而言之,您现在可以使用数组,所以这似乎让编译器很高兴:
localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask([.LeftMouseDownMask, .RightMouseDownMask, .OtherMouseDownMask]) { (event: NSEvent) -> NSEvent? in
// Event handling...
return event
}
我有以下代码用于监听视图外的鼠标事件(NSView 的子类)。这很好用,但我不知道如何将 NSEventMasks 通过管道连接在一起。我基本上想在 NSEventMask.LeftMouseDownMask
、NSEventMask.RightMouseDownMask
和 NSEventMask.OtherMouseDownMask
.
有谁知道如何将它们组合在一起,或者在 Swift 中是否可行?
工作代码
localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask(NSEventMask.LeftMouseDownMask) { (event: NSEvent) -> NSEvent? in
// Event handling...
return event
}
简而言之,您现在可以使用数组,所以这似乎让编译器很高兴:
localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask([.LeftMouseDownMask, .RightMouseDownMask, .OtherMouseDownMask]) { (event: NSEvent) -> NSEvent? in
// Event handling...
return event
}