Хочу добавить в главное меню приложения пункт меню, который будет использоваться достаточно редко. Я хочу, чтобы он был скрыт по умолчанию и показывался только тогда, когда пользователь удерживал клавишу Option. Как мне это сделать?
Кажется, что я должен обрабатывать flagsChanged:
, но это метод NSResponder
и NSMenu
не наследуется от NSResponder
? Я попробовал это внутри контроллера главного окна, и он работает, когда я нажимаю клавишу Option, прежде чем щелкнуть меню. Не работает следующий вариант использования: щелкнуть пункт меню (пункта нет), нажать клавишу выбора — должен появиться мой пункт, отпустить клавишу выбора — элемент должен исчезнуть.
Я также пробовал NSEvent addLocalMonitorForEventsMatchingMask:handler:
и addGlobalMonitorForEventsMatchingMask:handler:
для NSFlagsChangedMask
, но когда клавиша option нажата, когда главное меню открыто, ни локальный или глобальные обработчики не запускаются.
Как мне это сделать?