iOS Feuilles d'action avec UIAlertController


Exemple

Avec UIAlertController , des feuilles d'action telles que la UIActionSheet sont créées avec la même API que celle utilisée pour AlertViews.

Feuille d'action simple avec deux boutons

Rapide

let alertController = UIAlertController(title: "Demo", message: "A demo with two buttons", preferredStyle: UIAlertControllerStyle.actionSheet)

Objectif c

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Demo" message:@"A demo with two buttons" preferredStyle:UIAlertControllerStyleActionSheet];

Créez les boutons "Annuler" et "OK"

Rapide

let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { (result : UIAlertAction) -> Void in
    //action when pressed button
}
let okAction = UIAlertAction(title: "Okay", style: .default) { (result : UIAlertAction) -> Void in
    //action when pressed button
}

Objectif c

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) {
        //action when pressed button
    }];

UIAlertAction * okAction = [UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
        //action when pressed button
    }];

Et ajoutez-les à la fiche d'action:

Rapide

alertController.addAction(cancelAction)
alertController.addAction(okAction)

Objectif c

[alertController addAction:cancelAction];
[alertController addAction:okAction];

Présentez maintenant le UIAlertController :

Rapide

self.present(alertController, animated: true, completion: nil)

Objectif c

[self presentViewController:alertController animated: YES completion: nil];

Cela devrait être le résultat:

Exemple de feuille d'action UIAlertController

Feuille d'action avec bouton destructeur

En utilisant le UIAlertActionStyle .destructive pour UIAlertAction , vous créez un bouton avec une couleur rouge.

Bouton destructeur

Pour cet exemple, okAction ci-dessus a été remplacé par cette UIAlertAction :

Rapide

let destructiveAction = UIAlertAction(title: "Delete", style: .destructive) { (result : UIAlertAction) -> Void in
    //action when pressed button
}

Objectif c

UIAlertAction * destructiveAction = [UIAlertAction actionWithTitle:@"Delete" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) {
            //action when pressed button
        }];