Я создал пользовательский NSView и реализовал метод keyDown:. Однако, когда я нажимаю клавиши, метод никогда не вызывается. Нужно ли регистрироваться для получения этих событий? fyi, я делаю приложение на основе документов и могу обрабатывать этот код где угодно (не обязательно в этом представлении). Какое место лучше всего сделать в приложении на основе документа, так что событие будет происходить во всем приложении?
Cocoa: событие закрытия ключа в NSView не срабатывает
Ответ 1
Вам нужно переопределить -acceptsFirstResponder, чтобы вернуть YES.
Ответ 2
В Swift:
class MDView: NSView {
override var acceptsFirstResponder: Bool { return true }
}