NSDatePicker nextKeyView - PullRequest
       34

NSDatePicker nextKeyView

0 голосов
/ 07 марта 2019

Кажется, что NSDatePicker nextKeyView никогда не принимается во внимание.

Я могу добавить вкладку к NSDatePicker, но никогда не выхожу из нее, хотя nextKeyView настроен правильно.

Когда я нажимаю клавишу табуляции внутри палитры, фокус перемещается правильно из текстовых полей день в месяц, но прикрепляется к текстовому полю года и никогда не переходит к элементу управления nextKeyView.

То же самое в обратном направлении, Shift-Tab корректно перемещается из года в месяц, но застрял там внутри NSDatePicker.

Полагаю, это ошибка NSDatePicker.

Как я могу создать подкласс (или любой другой тип решения), чтобы преодолеть эту проблему?

enter image description here Кроме того, журнал следующей цепочки просмотра ключей, просто чтобы доказать, что они установлены

Initial first responder <NSTextField: 0x100587c60>
next key view <NSDatePicker: 0x6000035008f0>
next key view <NSComboBox: 0x100636740>
next key view <NSTextField: 0x10063e5a0>
next key view <NSTextField: 0x100587c60>

1 Ответ

0 голосов
/ 08 марта 2019

Вот подвох: Контроллер, который управляет представлением, имеет метод keyDown: потому что он должен реагировать на нажатие клавиши «delete».Этот метод не вызывал [super keyDown: событие], если нажатая клавиша не была «удалена» (например, клавиша «tab»).

Добавление вызова super, когда клавиша не должна обрабатыватьсяконтроллер решил проблему.

Почему в некоторых случаях правильно нажималась клавиша табуляции (например, когда фокус находится на текстовом поле), а другие случаи (например, средство выбора даты) остаются необъясненными.

Спасибо всем людям, которые разместили комментарии и помогли мне разобраться в этом.

...