我正在尝试在按下 ESC 键时自定义NSTextFieldCell
(在 a 内NSOutlineView
)结束编辑,但找不到任何方法来完成此操作。我试图为NSControlTextDidChangeNotification
-notification 添加一个观察者,但它不会被 ESC 键keyDown
触发,也不会在NSOutlineView
.
2620 次
2 回答
24
NSResponder 中的Esc 触发器-cancelOperation
。您可以尝试在响应者链中的某个地方处理此问题。
于 2011-04-30T12:42:05.323 回答
0
公认的答案是正确的。详细说明:为了捕获 ESC 键事件,您可以覆盖 NSViewController(或您正在使用的 NSResponder 的任何其他派生)中的 cancelOperation 方法。这是我的代码在 Swift 4.x 中的样子。
class PopUIcontroller: NSViewController, NSTextFieldDelegate {
override func cancelOperation(_ sender: Any?) {
print("trying to cancel! Here I will do stuff to handle ESC key press!")
}
}
更多阅读:NSWindowController can't capture ESC without WebView is added to the window
于 2018-12-26T19:04:24.050 回答