ios - präsentiert UIAlertController obendrauf, unabhängig von der Ansichtshierarchie

8

Ich versuche eine Hilfsklasse zu haben, die ein UIAlertController darstellt. Da es sich um eine Hilfsklasse handelt, möchte ich, dass sie unabhängig von der Ansichtshierarchie funktioniert und keine Informationen darüber enthält. Ich kann die Warnung anzeigen, aber wenn sie abgewiesen wird, stürzte die App ab mit:

%Vor%

Ich erstelle das Popup mit:

%Vor%

Wenn ich auf yes tippe, stürzt die App ab und der Handler wird vor dem Absturz nicht getroffen. Ich kann das UIAlertController nicht darstellen, da dies von der aktuellen Ansichtshierarchie abhängig wäre, während das Popup unabhängig sein soll

EDIT: Schnelle Lösung Danke @Vlad für die Idee. Es scheint, dass die Bedienung in einem separaten Fenster viel einfacher ist. Also hier ist eine funktionierende Swift-Lösung:

%Vor%     
Guig 06.12.2016, 09:03
quelle

3 Antworten

9

Ich werde es lieber auf UIApplication.shared.keyWindow.rootViewController präsentieren, anstatt Ihre Logik zu verwenden. So können Sie als nächstes tun:

%Vor%

BEARBEITET:

Ich habe eine alte ObjC-Kategorie, in der ich die nächste Methoden-Show verwendet habe, die ich verwendet habe, wenn kein Controller zur Verfügung gestellt wurde von:

%Vor%

hat die gesamte Kategorie hinzugefügt, wenn jemand es braucht

%Vor%     
Vlad Hatko 06.12.2016, 09:07
quelle
23

Hier ist eine Erweiterung von Swift 3:

%Vor%

Richten Sie einfach Ihren UIAlertController ein und rufen Sie dann:

%Vor%

Nicht mehr an die View-Controller-Hierarchie gebunden!

    
jazzgil 03.03.2017 14:05
quelle
1

Swift 3 Beispiel

%Vor%     
Lijith Vipin 19.12.2017 07:12
quelle

Tags und Links