2011-12-19 3 views
0

Все события клавиатуры для моего NSTableView отключены. Я не могу использовать стрелки или выбрать строку с пробелом.Все события клавиатуры для моего NSTableView отключены

NSTableView принадлежит к NSPanel, который является текущим ключом окна, и NSTableView является первым ответчиком панели:

print (int) [self isKeyWindow] $1 = 1 

po [self firstResponder] <NSTableView: 0xa7c6cc0> 

Если удалить таблицу из моей панели (а также другой таблицы) кнопка ESC снова работает. Я думаю, что что-то не так с обработкой событий таблицы.

благодаря

ответ

0

Ваше табличное потерял свой первый статус ответчика. У вас есть другие элементы управления в окне, которые отвечают на ключевые события? Попробуйте установить первый ответчик своего внутреннего окна, заставив другие элементы управления отказаться от первого ответчика, настроив ваши пути nextKeyView или вручную установив таблицу в качестве первого ответчика, вызвав [window makeFirstResponder:tableView].

Вопросы первого ответа могут быть PITA, но если вы прочитаете документацию и прочитаете свой код с помощью операторов регистрации, вы можете получить представление о том, куда идут эти ключевые события.

+0

Я не понимаю, моя панель является keyWindow и таблица является firstResponder: печать (интермедиат) [само isKeyWindow] $ 1 = 1, ро [само firstResponder] aneuryzm

+0

На самом деле панель не отвечает на событие ESC, но если я удалю таблицу из файла nib (а также другую таблицу), то он снова будет работать. – aneuryzm

Смежные вопросы