I have made a custom NSView and have implemented the keyDown:
method. However, when I press keys the method is never called. Do I have to register to receive those events? fyi, I am making a document based application and can handle this code anywhere (doesn't have to be in this view). What is the best place to do this in a document based application such that the event will occur throughout the entire application?
You need to override -acceptsFirstResponder
to return YES
.
initialFirstResponder
in code before the window is ordered on screen or connect it in IB. At other times, you can use -makeFirstResponder:
. Also, make sure your window can become key - Ken Thomases 2012-10-04 23:07
In Swift:
class MDView: NSView {
override var acceptsFirstResponder: Bool { return true }
}