Устанавливание эквивалентного ключа пункта меню
Можно присвоить эквивалент клавиатуры NSMenuItem
экземпляр, так, чтобы, когда пользователь вводит символ, пункт меню отправил свое действие. Эквивалент клавиатуры определяется в двух частях. Сначала основной ключевой эквивалент, который должен быть символом Unicode, который может быть сгенерирован одно нажатием клавиши без модифицирующих клавиш (Исключенный сдвиг). Также возможно использовать последовательность символов Unicode, пока ключевое отображение пользователя в состоянии генерировать последовательность с одно нажатием клавиши. Основной ключевой эквивалент установлен с помощью setKeyEquivalent:
и возвратился keyEquivalent
. Вторая часть определяет модифицирующие клавиши, которые должны также быть нажаты. Это установлено с помощью setKeyEquivalentModifierMask:
и возвратился keyEquivalentModifierMask
. Маска модификатора по умолчанию включает NSCommandKeyMask
, и может также включать маски для Сдвига, Опции или других модифицирующих клавиш. Указание эквивалентов клавиатуры в двух частях позволяет Вам определять измененный эквивалент клавиатуры, не имея необходимость знать, какой символ сгенерирован основным ключом плюс модификатор. Например, можно определить эквивалент клавиатуры Command-Option-f, не имея необходимость знать, какой символ сгенерирован путем ввода Опции-f.
Определенные методы в NSMenuItem
может переопределить присвоенные эквиваленты клавиатуры с теми, пользователь указал в системе значений по умолчанию. setUsesUserKeyEquivalents:
метод включает или выключает это поведение, и usesUserKeyEquivalents
возвращает его состояние. Для определения определяемого пользователем ключевого эквивалента для объекта NSMenuItem вызовите userKeyEquivalent
метод экземпляра. Если определяемые пользователем ключевые эквиваленты активны и NSMenuItem
объект имеет определяемый пользователем ключевой эквивалент, keyEquivalent
метод возвращает определяемый пользователем ключевой эквивалент а не использование набора того setKeyEquivalent:
.