我正在使用SwiftUI为MacOS编写一个简单的菜单栏应用程序。我希望应用程序响应转义键。使用到目前为止我拼凑的东西,我会得到这样的东西:
extension NSWindow {
open override func keyDown(with event: NSEvent) {
print("keyDown: \(event.keyCode)")
}
open override func keyUp(with event: NSEvent) {
print("keyUp: \(event.keyCode)")
}
}
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
// etc
}
}
AppDelegate创建并启动一个NSPopover
。
运行应用程序时,我确实收到了keyUp
消息,但是由于某些原因却没有收到keyDown
。
问题是我该如何从AppDelegate
内响应密钥?最终,我想使用转义键关闭弹出窗口,但我也想探索其他可能性。