UIAlertView: Où le button d'annulation devrait être?

Les alertes dans l'iOS:

  • Installez App OTA: le button d'annulation est sur la gauche.
  • Supprimer une application: le button d'annulation est sur la droite.

Où le button d'annulation devrait être?

De la ligne direcsortingce d'interface humaine :

Dans une alerte à deux buttons qui propose une action potentiellement risquée, le button qui annule l'action doit être sur la droite (et de couleur claire).

Dans une alerte à deux buttons qui propose une action bénigne que les gens sont susceptibles de vouloir, le button qui annule l'action devrait être sur la gauche (et de couleur sombre).

Si vous définissez le text pour le button d'annulation dans l'initialiseur, iOS prendra soin de cela pour vous.

Comme le disent les lignes direcsortingces de l'interface humaine :

Dans une alerte à deux buttons qui propose une action potentiellement risquée, le button qui annule l'action doit être sur la droite (et de couleur claire).

Bien que, dans la pratique, vous pouvez étiqueter vos buttons avec autre chose que l'label générique. (J'ai oui / non) alertes dans de nombreuses circonstances. Comme votre exemple d'Apple montre, cette partie du HIG ne sera pas un briseur d'affaire pour votre application.

Selon les buttons Apple Place où les gens les attendent. En général, les buttons les plus susceptibles de toucher doivent être sur la droite. Les buttons Annuler doivent toujours être sur la gauche. https://developer.apple.com/ios/human-interface-guidelines/ui-views/alerts/

La définition dans a été légèrement mise à jour (pas de references de couleur sombre):

  1. Lorsque le button le plus susceptible d'effectuer une action non destructive, il doit être sur la droite dans une alerte à deux buttons. Le button qui annule cette action doit être sur la gauche.
  2. Lorsque le button le plus susceptible d'effectuer une action destructive, il doit être sur la gauche dans une alerte à deux buttons. Le button qui annule cette action doit être sur la droite.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Continue"]; 

Le button d'annulation sera sur le côté gauche de l'écran dans ce cas qui est le cas par défaut.