将命令快捷方式发送到 NSTextView 的下一个响应者
Send command shortcut to NSTextView's next responder
我有一个 MacOS 应用程序,它通过实施 NSWindow.keyDown(with event:)
来侦听关键事件。我用它来启用 ⌘ n
之类的快捷方式来创建新项目。这很好用,除非有一个 NSTextView
作为第一响应者。在这种情况下,文本视图将吞下该事件,我的 keyDown
函数将不会被调用。我如何防止这种情况并让 textview 将事件发送到下一个响应者(最终是我的 NSWindow
)?
您可以继承 NSTextView
覆盖 keyDown
方法并调用下一个响应程序:
import Cocoa
class TextView: NSTextView {
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
}
override func keyDown(with event: NSEvent) {
super.keyDown(with: event)
nextResponder?.keyDown(with: event)
}
}
我有一个 MacOS 应用程序,它通过实施 NSWindow.keyDown(with event:)
来侦听关键事件。我用它来启用 ⌘ n
之类的快捷方式来创建新项目。这很好用,除非有一个 NSTextView
作为第一响应者。在这种情况下,文本视图将吞下该事件,我的 keyDown
函数将不会被调用。我如何防止这种情况并让 textview 将事件发送到下一个响应者(最终是我的 NSWindow
)?
您可以继承 NSTextView
覆盖 keyDown
方法并调用下一个响应程序:
import Cocoa
class TextView: NSTextView {
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
}
override func keyDown(with event: NSEvent) {
super.keyDown(with: event)
nextResponder?.keyDown(with: event)
}
}