Клавиши Esc и Enter в диалоговом окне Cocoa
-
09-06-2019 - |
Вопрос
Как я могу закрыть диалоговое окно в приложении Cocoa, когда пользователь нажимает клавишу Esc или Enter?У меня есть кнопка ОК, можно ли сделать ее кнопкой по умолчанию?
Решение
Если вы представляете панель предупреждений с помощью NSAlert
класс или, NSRunAlertPanel
семейство функций или NSBeginAlertSheet
семейство функций, вы получите поддержку кнопок по умолчанию и кнопок отмены автоматически.
Если вы представляете лист, для которого нужны кнопки «ОК/Отмена», и вы не используете ничего из вышеперечисленного, вы сможете назначить своим кнопкам соответствующие эквиваленты клавиатуры в Interface Builder с помощью инспектора атрибутов.(Просто выделите Ключевой эквивалент. область и нажмите клавишу, которая должна быть эквивалентна нажатию этой кнопки.)
Если вы представляете диалог, который не является ни предупреждением, ни документом/модальным листом окна — не делайте этого.:) Модальные оповещения документа не похожи на Mac, и их не следует использовать для таких вещей, как окна настроек.