UIAlertView: Где должна быть кнопка отмены? - PullRequest
21 голосов
/ 05 июля 2011

Предупреждения в iOS:

  • Установить приложение OTA: кнопка отмены находится влево.
  • Удалить приложение: кнопка отмены находится в правом положении.

Где должна быть кнопка отмены?

Ответы [ 5 ]

39 голосов
/ 05 июля 2011

Из Руководство по интерфейсу пользователя :

В предупреждении с двумя кнопками, которое предлагает потенциально рискованное действие, кнопка, которая отменяет действие, должна быть справа (и светится)

В предупреждении с двумя кнопками, которое предлагает мягкое действие, которое, вероятно, захотят люди, кнопка, которая отменяет действие, должна быть слева (и темным цветом).

3 голосов
/ 26 мая 2017

согласно Apple Размещайте кнопки там, где их ожидают люди. Как правило, кнопки, на которые люди чаще всего нажимают, должны быть справа. Кнопки отмены всегда должны быть слева. https://developer.apple.com/ios/human-interface-guidelines/ui-views/alerts/

1 голос
/ 05 июля 2011

Если вы установите текст для кнопки отмены в инициализаторе, iOS позаботится об этом за вас.

Как Руководство по взаимодействию с человеком говорит:

В предупреждении с двумя кнопками, которое предлагает потенциально рискованное действие, кнопка, отменяющая действие, должна быть справа (и светлой).

Хотя на практике вы можете пометить свои кнопки чем-то отличным от общего ярлыка. (У меня есть Да / Нет) оповещения во многих случаях. Как показывает ваш пример из Apple, эта часть HIG не станет преградой для вашего приложения.

0 голосов
/ 15 июня 2015

Определение в было немного обновлено (без ссылок, выделенных темным светом):

  1. Когда наиболее вероятная кнопка выполняет неразрушающее действие, она должна быть справа вдвухкнопочное оповещение.Кнопка, которая отменяет это действие, должна быть слева.
  2. Когда наиболее вероятная кнопка выполняет разрушительное действие, она должна быть слева в виде предупреждения с двумя кнопками.Кнопка, которая отменяет это действие, должна быть справа.
0 голосов
/ 05 июля 2011
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Continue"];

Кнопка отмены будет в левой части экрана в этом случае, что является случаем по умолчанию.

...