web-dev-qa-db-fra.com

Changer la couleur du bouton annuler dans UIAlertController avec preferredStyle: .ActionSheet

Est-il possible de changer la couleur du bouton d'annulation en rouge, je sais que nous pouvons utiliser le style destructeur

  let cancelActionButton: UIAlertAction = UIAlertAction(title: "Cancel", style: .Destructive) { action -> Void in
            print("Cancel")
        }

mais je veux le bouton d'annulation séparément, comme ceci  enter image description here

13
bikram sapkota
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) 
cancelAction.setValue(UIColor.red, forKey: "titleTextColor")
16
Igor

Voici le code permettant de créer l'alerte comme vous l'avez dit: 

let alert = UIAlertController(title: "Hello", message: "Hello World", preferredStyle: .actionSheet)
alert.addAction(UIAlertAction(title: "Open in Google Maps", style: . default, handler: nil))
alert.addAction(UIAlertAction(title: "Open in Google", style: . default, handler: nil))
alert.addAction(UIAlertAction(title: "Copy Address", style: . default, handler: nil))

alert.addAction(UIAlertAction(title: "Cancel", style: .destructive, handler: nil))

Vous devez utiliser 2 types de style. Ici, j’ai utilisé .destructive et .default, cela séparera l’action d’alerte en deux parties.

5

Swift 4

Vous pouvez modifier la color du bouton alerte action en utilisant le code ci-dessous.

let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
cancelAction.setValue(UIColor.red, forKey: "titleTextColor")

J'espère que cela vous aide.

1
Vinoth Vino

Changez le style de UIAlertActionStyleDefault en UIAlertActionStyleDestructive dans Objective C:

UIAlertAction* button = [UIAlertAction actionWithTitle:@"Button title here"
                                      style:UIAlertActionStyleDestructive
                                      handler:^(UIAlertAction * action)
                                      {
                                          // Handle action here....
                                      }];
0
kuldip bhalodiya

Donnez juste la propriété de style du bouton comme destructive.

let cancelAction = UIAlertAction(title: "Cancel", style: .destructive, handler: {
            (alert: UIAlertAction!) -> Void in

})
0
Aditya Jha