我已经制作了自定义NSView并实现了keyDown:
方法。但是,当我按下键时,从不调用该方法。我必须注册接收这些活动吗? fyi,我正在制作一个基于文档的应用程序,并且可以在任何地方处理此代码(不必在此视图中)。在基于文档的应用程序中执行此操作的最佳位置是什么,以便事件将在整个应用程序中发生?
答案 0 :(得分:29)
您需要覆盖-acceptsFirstResponder
才能返回YES
。
答案 1 :(得分:8)
在斯威夫特:
class MDView: NSView {
override var acceptsFirstResponder: Bool { return true }
}