Подтвердить что ты не робот

UIAlertView: где должна быть кнопка отмены?

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

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

Если кнопка отмены должна быть?

4b9b3361

Ответ 1

От Руководство по человеческому интерфейсу:

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

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

Ответ 2

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

Как сказано в Руководстве по взаимодействию с людьми :

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

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

Ответ 3

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

Ответ 4

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

  • Когда наиболее вероятная кнопка выполняет неразрушающее действие, она должна быть справа в двухкнопочном предупреждении. Кнопка, которая отменяет это действие, должна быть слева.
  • Когда наиболее вероятная кнопка выполняет деструктивное действие, она должна быть слева в двухкнопочном предупреждении. Кнопка, которая отменяет это действие, должна быть справа.

Ответ 5

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Continue"];

В этом случае кнопка "Отмена" будет в левой части экрана, это случай по умолчанию.