Cocoa:NSView上的键击事件未触发

时间:2012-04-05 01:06:31

标签: cocoa keydown document-based

我已经制作了自定义NSView并实现了keyDown:方法。但是,当我按下键时,从不调用该方法。我必须注册接收这些活动吗? fyi,我正在制作一个基于文档的应用程序,并且可以在任何地方处理此代码(不必在此视图中)。在基于文档的应用程序中执行此操作的最佳位置是什么,以便事件将在整个应用程序中发生?

2 个答案:

答案 0 :(得分:29)

您需要覆盖-acceptsFirstResponder才能返回YES

答案 1 :(得分:8)

在斯威夫特:

class MDView: NSView {
    override var acceptsFirstResponder: Bool { return true }
}