changer la position du bouton annuler dans UIAlertView?
J'ai remarqué que quand je supprimer une application de mon iPhone écran d'accueil, l'affichage alerte qui s'affiche montre un bouton Supprimer sur la gauche et à Annuler, sur la droite. Cependant, lorsque je construis une suppression de la fonction au sein de mon application en utilisant UIAlertView, les boutons ne semblent affichage à Annuler, sur la gauche, et de Suppression sur la droite.
J'aimerais que mon application soit compatible avec l'OS, mais je ne peux pas comprendre comment faire le bouton Annuler apparaissent en premier. Personne ne sait?
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Delete Song"
message:@"Are you sure you want to delete this song? This will permanently remove it from your database."
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Delete", nil];
J'ai essayé de réglage de l'alerte.cancelButtonIndex = 1, mais qui n'avait aucun effet.
OriginalL'auteur arlomedia | 2010-12-16
Vous devez vous connecter pour publier un commentaire.
Une possible raison, Apple a utilisé un affichage des alertes sur l'écran d'accueil est parce que une fois demandé aux utilisateurs de taux les applications qu'ils ont supprimé (pas plus). Ils ont probablement fait le bouton Annuler de la couleur claire car cela était considéré comme une action destructrice (suppression d'une application et de ses données).
Je suppose que vous pouvez inverser les titres (
cancelButtonTitle:@"Delete" otherButtonTitles:@"Cancel", nil
) et de gérer les clics sur les boutons dans l'autre sens (je ne sais pas si Apple a fait de même). Ce serait un peu maladroit mais; comment se fait à l'aide d'une "fiche action" à la place?Je n'ai pas vu de toute autre supprimer des alertes autour. Les deux le SMS et alertes de calendrier placer leurs annuler (à Proximité) des boutons à la gauche, tout comme le kit de développement SDK. Autant que je sache, n'importe où ailleurs la suppression de quelque chose (photos, contacts, événements de calendrier, des notes, des listes de lecture iPod) utilise des fiches d'action.
Bon, je vais laisser comme ça alors. Merci pour l'info.
L' [developer.apple.com/library/ios/#documentation/userexperience/... spécifie: "Dans un deux-bouton d'alerte qui propose une potentiellement à risque action, le bouton annule l'action doit être sur la droite et de couleur claire. Dans un deux-bouton d'alerte qui propose une action bienfaisante que les gens sont susceptibles de vouloir, le bouton annule l'action doit être sur la gauche et de couleur sombre". Je suppose que c'est la raison pour laquelle la commande/couleur des boutons varie.
OriginalL'auteur
Ah, je viens de comprendre comment faire pour changer cela. Le cancelButtonTitle argument est facultatif, de sorte que vous pouvez ajouter un bouton personnalisé dans la position que vous voulez et ensuite désigner ce que le bouton annuler, comme ceci:
Qui met le Supprimer bouton gauche et le bouton Annuler sur le droit et les faits saillants sur le bouton Annuler.
Je pensais que j'allais noix jusqu'à ce que j'ai vu ce. J'ai essayé d'utiliser @"NON" pour annuler bouton et @"OUI", comme le bouton d'autres titres, mais buttonIndex 0 a été le bouton annuler. J'ai vraiment ne peut la voir comme autre chose que d'un bug sur les Pommes, mais qui suis-je pour remettre en question ce que je ne peux pas imaginer hein? Cette approche fonctionne parfaitement bien, Merci!
Je trouve que cela ne fonctionne plus sous iOS 8.3 (dans le Simulateur), mais fonctionne très bien sur iOS 7.1. Ceci malgré le fait que certains d'Apple alertes encore "Annuler" sur la droite, même en 8.3. (Je me demande comment ils font!)
OriginalL'auteur