De la UIAlertView
classe :
// UIAlertView est obsolète. Utilisez UIAlertController avec un preferredStyle de UIAlertControllerStyleAlert au lieu de
Sous iOS 8, vous pouvez le faire :
let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
Maintenant UIAlertController
est une classe unique pour créer et interagir avec ce que nous connaissions sous le nom de UIAlertView
et UIActionSheet
sur iOS 8.
Edita: Pour gérer les actions :
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: { action in
switch action.style{
case .Default:
print("default")
case .Cancel:
print("cancel")
case .Destructive:
print("destructive")
}
}}))
Modifier pour Swift 3 :
let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
Modifier pour Swift 4.x :
let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
switch action.style{
case .default:
print("default")
case .cancel:
print("cancel")
case .destructive:
print("destructive")
}
}))
self.present(alert, animated: true, completion: nil)
6 votes
UIAlertView
yUIActionSheet
a été remplacé parUIAlertController
dans iOS 8, avez-vous regardé cela ?0 votes
Assurez-vous que la classe qui
self
appartient à adopte le protocoleUIAlertViewDelegate
(la manière recommandée de le faire, en Swift, est avec une extension).0 votes
@Adam : J'ai inversé votre retagging. Le site Swift3 est pour "des questions directement liées aux changements de la version 3 du langage de programmation Swift d'Apple." Et je ne pense pas que "Si les réponses montrent clairement que le problème de la question a été causé par autre chose que ce que l'auteur de la question pensait, le retagging est très utile." de meta.stackoverflow.com/questions/252079/ s'applique ici.
1 votes
@MartinR Je ne sais pas comment les questions peuvent être mises à jour pour montrer qu'il y a des réponses qui s'appliquent à une version actuelle de Swift ; il y a beaucoup de vieux trucs inutiles ici et [swift] les trouve tous avec les trucs utiles. Je ne tiens pas à ce que ce retag soit annulé, mais j'aimerais qu'il y ait un moyen définitif de résoudre ce problème. (J'aimerais que les réponses aient des tags).