Wie man einen UIAlertController nach dem Schließen eines View Controllers in iOS präsentiert
Автор: vlogize
Загружено: 2026-01-27
Просмотров: 0
Описание:
Erfahren Sie, wie Sie in Ihrer iOS-App einen `UIAlertController` unmittelbar nach dem Schließen eines View Controllers effizient mit Swift und Xcode präsentieren.
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/62344805/ gestellt von dem Nutzer 'David' ( https://stackoverflow.com/u/9548591/ ) sowie auf der Antwort https://stackoverflow.com/a/62345144/ bereitgestellt von dem Nutzer 'Jawad Ali' ( https://stackoverflow.com/u/1780632/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.
Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: Present alert after dismissing View Controller
Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/l...
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ).
Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Einen Alert nach dem Schließen eines View Controllers in iOS präsentieren
Beim Entwickeln von iOS-Anwendungen kann es vorkommen, dass Sie direkt nach dem Schließen eines View Controllers eine Alert-Meldung anzeigen möchten. Dies ist eine häufige Anforderung, kann jedoch schwierig umzusetzen sein, wenn man nicht mit den richtigen Techniken vertraut ist. In diesem Beitrag erklären wir, wie man einen UIAlertController direkt nach dem Schließen eines View Controllers mit Swift und Xcode präsentiert.
Herausforderung verstehen
Angenommen, Sie haben einen View Controller präsentiert und möchten nach einer Benutzeraktion (z. B. dem Senden einer Nachricht) diesen View Controller schließen und sofort eine Bestätigungsmeldung als Alert zeigen. Das Problem entsteht, wenn Sie versuchen, den Alert unmittelbar nach dem Aufruf des Schließens zu präsentieren. Die Schließaktion wird beendet, bevor der Alert dargestellt wird, sodass der Alert nicht korrekt angezeigt wird.
Beispielhafter Anfangscode
So könnten Sie versuchen, den View Controller zu schließen und anschließend einen Alert anzuzeigen:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Das funktioniert nicht wie erwartet, da Sie versuchen, den Alert auf einem gerade schließenden View Controller zu präsentieren. Wenden wir uns nun der Lösung zu.
Lösungsübersicht
Um dieses Verhalten zu realisieren, verwenden wir den Completion-Handler der dismiss-Methode. Die Idee ist, den Alert erst dann zu präsentieren, wenn die Schließanimation vollständig abgeschlossen ist. Zudem benötigen wir eine Methode, um den aktuell obersten View Controller zu ermitteln, damit der Alert korrekt auf dem sichtbaren View Controller angezeigt wird.
Schritt 1: Die Dismiss-Methode anpassen
Wir können den Code zum Schließen so anpassen, dass im Completion-Block der Alert erstellt und präsentiert wird. So könnte die Struktur aussehen:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Schritt 2: Extension erstellen, um den obersten View Controller zu ermitteln
Um den gerade angezeigten View Controller zu finden, erstellen wir eine extension für UIApplication. Dadurch können wir den obersten View Controller ermitteln und den Alert ohne Probleme darauf präsentieren:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Erklärung des Codes
Dismiss-Methode: Wir schließen den aktuellen View Controller. Innerhalb des completion-Blocks der Schließung erstellen wir eine Instanz von UIAlertController mit einem Titel und einem Aktionsbutton.
Oberster View Controller: Die Extension filtert das Key Window heraus und folgt eventuell präsentierten View Controllern, bis sie den aktuell sichtbaren View Controller erhält. Dort wird dann der Alert präsentiert.
Fazit
Wenn Sie die in diesem Beitrag beschriebenen Schritte befolgen, können Sie nahtlos einen UIAlertController genau nach dem Schließen eines View Controllers anzeigen. Dies verbessert die Benutzererfahrung in Ihrer App, da Aktionen unmittelbar bestätigt werden. Denken Sie daran, in ähnlichen Szenarien stets Completion-Handler zu verwenden, um sicherzustellen, dass Ihre Views zum richtigen Zeitpunkt angezeigt werden.
Mit diesen Techniken sind Sie auf dem besten Weg, die Verwaltung von UIViewControllern in Ihren iOS-Apps zu meistern. Viel Erfolg beim Programmieren!
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: