Почему я не могу открыть Настройки из каждого окна? - PullRequest
2 голосов
/ 07 ноября 2010

Я натолкнулся на это приложение Какао (исходный код), которое показывает главное окно.

Пока это окно является ключевым, можно открыть окно Предпочтения из главного меню, а также нажав Command -, , но когда главное окно не является ключевым и еще одно окно из того же приложения: NSMenuItem выделен серым цветом , а сочетание клавиш не отвечает.

Я проверил файл xib, связанный с Главным меню, и выяснил, что NSMenuItem отправляет IBAction openPreferences:(id)sender на FirstResponder, который может быть NSApplication.

Чего мне не хватает (я все еще новичок в программировании на mac macoa)? Как я могу это исправить, чтобы настройки были доступны из каждого окна приложения?

1 Ответ

2 голосов
/ 07 ноября 2010

Вероятно, оригинальный автор реализовал - (BOOL)validateMenuItem:(NSMenuItem *)menuItem и возвращает NO при некоторых обстоятельствах.

NSMenuValidationProtocol документация .

Обновление: Еще одно быстрое предположение: возможно, объект, который обрабатывает IBAction для элемента меню, отсутствует вцепочка респондента больше после того, как вы откроете второе окно.NSMenuItems включаются только в том случае, если в цепочке респондента находится селектор действий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...