Rejeter UIAlertView après 5 Secondes Swift
J'ai créé un UIAlertView qui contient un UIActivityIndicator. Tout fonctionne très bien, mais j'aimerais aussi le UIAlertView à disparaître au bout de 5 secondes.
Comment puis-je Révoquer mon UIAlertView au bout de 5 secondes?
var alert: UIAlertView = UIAlertView(title: "Loading", message: "Please wait...", delegate: nil, cancelButtonTitle: "Cancel");
var loadingIndicator: UIActivityIndicatorView = UIActivityIndicatorView(frame: CGRectMake(50, 10, 37, 37)) as UIActivityIndicatorView
loadingIndicator.center = self.view.center;
loadingIndicator.hidesWhenStopped = true
loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
loadingIndicator.startAnimating();
alert.setValue(loadingIndicator, forKey: "accessoryView")
loadingIndicator.startAnimating()
alert.show()
- Si vous chargez quelque chose, pourquoi voudriez-vous cacher l'alerte après un temps fixe? N'auriez-vous pas plutôt le cacher lorsque le chargement est terminé?
InformationsquelleAutor Surge Pedroza | 2014-12-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez fermer votre
UIAlertView
5 secondes après, par programme, comme suit:dispatch_after
bloc appelez simplementalert.dismissWithClickedButtonIndex(-1, animated: true)
Une solution à rejeter une alerte automatiquement en Swift 3 et Swift 4 (Inspiré par une partie de ces réponses: [1], [2], [3]):
Résultat:
dans swift 2, vous pouvez le faire. Crédit @Lyndsey Scott
Créer l'alerte de l'objet, comme une variable globale.
Vous pouvez utiliser un
NSTimer
à cette fin.REMARQUE:
Référence : UIAlertView
Pour swift 4 vous pouvez utiliser ce code
Je ne suis pas un expert, mais cela fonctionne pour moi, et je suppose que c'est plus facile
//Fonction générique Pour Rejetant alerte w.r.t Minuterie
@ronatory 's réponse en c#