Установка NSDocument в качестве делегата NSMenu - PullRequest
2 голосов
/ 13 апреля 2011

У меня есть пункт меню, состояние которого должно зависеть от того, какой NSDocument открыт.Насколько я понимаю, для динамического изменения состояния я должен использовать метод делегата NSMenu menuNeedsUpdate:.

Кажется, я бы хотел, чтобы делегатом меню был Первый ответчик в MainMenu.xib.Тем не менее, Interface Builder не позволит мне установить его в качестве делегата главного меню.Как я могу создать делегата, который сможет получить доступ к текущему активному документу?

1 Ответ

5 голосов
/ 13 апреля 2011

Обычно я делаю такие изменения в методе validateMenuItem:, вызываемом перед отображением меню.Получатель действия спрашивает, должен ли элемент быть включен или нет.Но вы можете сделать практически любое изменение там.Начиная с 10.5, также безопасно добавлять и удалять элементы во время такого вызова.

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