2016-05-25 7 views
0

Когда я привязываю «Файл> Сохранить ⌘S» к пользовательскому IBAction, он отлично работает, за исключением случаев, когда я использую редактор полей окна, чтобы сделать что-то редактируемое программно. (NSTableHeaderCells, specifically.)Редактирование текста в редакторе полей отключает ⌘S при настройке элемента меню

Когда курсор находится в любом NSTextField, ⌘S все еще активирован. Это то, что я хочу.

Когда курсор находится в редакторе поля (NSText), ⌘S деактивирован. Это происходит только тогда, когда я меняю соединение в MainMenu.nib на «Первый ответчик> myCustomSaveMethod:».

Любые идеи о том, как включить ⌘S-сохранение в редакторе полей в этом случае?

ответ

0

Причина, по которой это произошло, заключается в том, что «Первый ответчик» - это что-то выше текущего вида в цепочке ответчиков. Выбранный вручную редактор полей вставляется в цепочку ответчиков ниже NSWindowController. myCustomSaveMethod: реализован в контроллере подвидки, который является , а не частью этой цепи ответчиков, поэтому определение метода недоступно редактору поля.

Перемещение myCustomSaveMethod: ответчику в цепочке, который разделяет как просмотр таблицы, так и общий редактор поля (например, NSWindowController), как шарм.
¯ \ _ (ツ) _/¯

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

  • Нет связанных вопросов^_^