2015-01-15 2 views
5

Meine App muss dem Benutzer zu verschiedenen Zeiten Informationen anzeigen. Ich habe mich entschieden, AlertControllers zu verwenden, aber ich kann nicht zwei Alert Controller gleichzeitig anzeigen. Also muss ich wissen, ob ein Alert Controller angezeigt wird, schließe ihn und öffne einen anderen.Entfernen eines Alert Controllers, wenn ein anderer Alert Controller aufgerufen wird

Ich habe das bisher gemacht. Ich verwende self.presentedViewController, um zu überprüfen, ob der AlertController angezeigt wird oder nicht. Aber ich kann nicht herausfinden, wie ich es schließe. Ich habe versucht, mit

self.presentedViewController?.removeFromParentViewController() 

und

self.presentedViewController?.delete(self.presentedViewController) 

ohne Glück. Jemand kann mir helfen? Danke

+0

beide der AlertController von der gleichen ViewController-Klasse präsentiert? –

+0

@SumitGarg Ja! Aber ich bin offen für neue Implementierungen – Nicholas

Antwort

5

Sie können einfach anrufen dismissViewControllerAnimated auf dem vorgestellten AlertController. Sie können den nächsten im Block completion präsentieren, wenn Sie möchten.

self.alertViewController?.dismissViewControllerAnimated(true, completion: { 

}) 
+0

erstaunlich, ich habe gerade geschrieben: wenn self.presentedViewController! = Nil {self.presentedViewController? .dismissViewControllerAnimated (true, Abschluss: nil)} – Nicholas