У меня есть NSTableView
, в котором мне нужно иметь возможность перехватывать события клавиатуры внутри редактируемой ячейки и заменять ячейку на строки. Например, нажмите «a» и перехватите «a», а значение «Alpha» присваивается при перезагрузке таблицы. Фактическая ситуация немного сложнее в том, что я также обрабатываю HID-устройства, но это совсем другая история. Достаточно сказать, я просто хочу иметь возможность перейти в режим редактирования и остановить отображаемые на клавиатуре значения.Фильтрация текста в NSTableView
Последняя часть этого (отображение «Альфа») проста, но я не могу понять первую часть проблемы. Если я подклассифицирую таблицу и сделаю ее первым ответчиком, я могу получить событие keyDown:
, но как только пользователь дважды щелкнет по ячейке и начнет печатать, это затихнет.
Поскольку ни один из других NSTableView
компонентов (NSCell
, NSTextFieldCell
и т.д.) происходят из NSResponder
, я предполагаю, что есть NSTextField
похоронен где-то там.
Итак, как лучше всего фильтровать текст, когда пользователь переходит в режим редактирования ячейки?