Ich habe ein Problem mit einer App, die ich entwickle.Beim Anzeigen modal über aktuellen Kontext, beim Abwickeln, ruft viewDidAppear nicht
- XCode-Version: 9.2 (9C40b)
- Programmiersprache: Swift 4
- Ziel iOS-Version für die App: 11,2
Szenario: Ich habe eine mainVC (Viewcontroller), die ruft ein modal präsentiertes secondaryVC auf. Nachdem ich eine Auswahl in der sekundärenVC getroffen habe, drücke ich eine UIB-Taste, um über einen Abwicklungs-Abschnitt zum Haupt-VC zurückzukehren.
Im secondaryVC, Übergang wird als „Cross aufloesen“ und Präsentation konfiguriert, als „Over Current Context“ die vorherige Ansicht als Hintergrund zu erhalten (siehe Hintergrund mit 50% Opazität konfiguriert ist):
Symptom: In diesem Szenario wird viewDidAppear nie aufgerufen, wenn das Abwicklungssegment zurückgeht. Ich muss es für weitere auszuführende Prüffunktionen aufrufen. Es wird aufgerufen, wenn statt "Over Current Context" die Präsentation als "Vollbild" eingestellt wird, aber in diesem Fall kann ich die vorherige Ansicht nicht als Hintergrund sehen.
Frage: Wie kann ich ViewDidApper aufgerufen werden, behalten einige Transparenz auf der sekundärenVC über die MainVC?
PS: Tut mir leid, wenn ich etwas verpasst habe, als ich diese Frage geschrieben habe; es ist mein erstes. Ich habe dieses und andere Foren durchsucht und keine Lösung gefunden (oder ich habe sie nicht identifiziert).
Vielleicht vermisse ich etwas von Ihrer Frage, aber in Bezug auf 'viewDidAppear' würde ich erwarten, dass es * einmal * pro View-Controller * genannt wird, wenn * sie erscheinen.Da es sich um ein * devel * Segment einer modal präsentierten VC handelt, würde ich erwarten, dass 'viewWillDisappear' und dann' viewDidDisappear' alles sind, was ausgelöst würde, nur für die zweite VC. – dfd
Eigentlich habe ich nicht überprüft, ob viewWillDisappear oder viewDidDisappear in der secondaryVC aufgerufen wurden. Aber das Problem ist, dass ich eine Warnung basierend auf einigen Nachprüfungen auslösen möchte, und diese passieren auf der Basis von Daten in der MainVC, so dass ich in Erwägung zog, diese Aufgabe (Überprüfung und Alarmierung) auf die sekundäre zu verschieben, ist kein guter Ansatz. Tatsächlich habe ich noch zwei sekundäreVCs, die Daten zu mainVC bringen. – Markussen
Klingt so, als müssten Sie den ** vollständigen ** Lebenszyklus betrachten und von dort aus weitergehen. Hier ist * meine * Referenz von hier: https://stackoverflow.com/questions/5562938/looking-to-understand-the-ios-uiviewcontroller-lifecycle#12608364 – dfd