Оригинальные HIG от Apple (теперь, к сожалению, исчезли с веб-сайта) заявили, что:
Самая правая кнопка в диалоговом окне, кнопка действия, это кнопка, подтверждающая текст сообщения предупреждения.Кнопка действия обычно, но не всегда, кнопка по умолчанию
В моем случае у меня есть некоторые деструктивные операции (такие как стирание диска), которые требуют «безопасных» диалогов подтверждения, например:
Наихудшим вариантом будет создание диалога, в котором крайняя правая кнопка станет кнопкой «не стирать», а левая от нее,обычно кнопка «Отмена» становится кнопкой «стирания», потому что это может легко привести к катастрофе ( случилось со мной с диалогом, сделанным Microsoft один раз), потому что люди обучены нажимать второйкнопка, когда они хотят отменить операцию.
Итак, мне нужно, чтобы левая (отмена) кнопка стала одновременно кнопкой по умолчанию, а также реагировала на клавиши Return, Esc и cmd-period.
Чтобы установить его по умолчанию и также реагировать на клавишу Return, мне просто нужно установить для keyEquivalent
первой кнопки пустую строку, а для второй кнопки - "\ r".
Но какЯ такжесделать предупреждение отменить, когда Esc или CMD-.набраны?