【发布时间】:2017-04-06 12:07:00
【问题描述】:
我正在开发一个 macOS 应用程序,我想在 NSViewController 中处理本地热键事件(命令 + 向上箭头键)。
这是我使用 Swift 的方法:
override func keyDown(with event: NSEvent) {
let modifierkeys = event.modifierFlags.intersection(.deviceIndependentFlagsMask);
let hasCommand = modifierkeys == .command;
switch Int(event.keyCode) {
case kVK_UpArrow where hasCommand:
print("command up");
break;
case kVK_ANSI_B where hasCommand:
print("command B");
break;
default:
break;
}
}
当我在视图中构建并按下 command+up 时,控制台什么也没有显示。但是当我按下command+B时,“command B”就被注销了。
那么为什么这不适用于 Command+up?我应该如何做到这一点?
【问题讨论】:
标签: swift cocoa nsviewcontroller nsevent