Gibt es etwas Ähnliches wie das viewDidLoad
von UIViewController
für ein UIView
??? Ich muss benachrichtigt werden, sobald ein UIView
geladen hat (Unterklasse von UIView
), und einige Aktionen ausführen.UIView - Wie wird benachrichtigt, wenn die Ansicht geladen wird?
66
A
Antwort
231
Je nachdem, welche Art von Aktionen, die Sie durchführen müssen, gibt es verschiedene Techniken:
-(id)initWithFrame:(CGRect)frame
- UIView designierter initializer; immer an eine UIView gesendet, um sie zu initialisieren, es sei denn, die Ansicht wird von einer Schreibfeder geladen;-(id)initWithCoder:(NSCoder *)coder
- wird immer gesendet, um eine UIView zu initialisieren, wenn die Ansicht von einer Schreibspitze geladen wird;-(void)awakeFromNib
- gesendet, nachdem alle Objekte in der Schreibfeder initialisiert und verbunden wurden; nur anwendbar, wenn Sie das Objekt von einer Spitze laden; Sie müssen super anrufen;-(void)willMoveToSuperview:(UIView *)newSuperview
- wird gesendet, unmittelbar bevor die Ansicht als Unteransicht einer anderen Ansicht hinzugefügt wird;newSuperview
kann Null sein, wenn Sie die Ansicht aus ihrer Superansicht entfernen;-(void)willMoveToWindow:(UIWindow *)newWindow
- wird gesendet, unmittelbar bevor die Ansicht (oder ihre Superansicht) zu einem Fenster hinzugefügt wird;newWindow
kann Null sein, wenn Sie die Ansicht aus einem Fenster entfernen;-(void)didMoveToSuperview
- wird gesendet, unmittelbar nachdem die Ansicht in eine Ansichtshierarchie eingefügt wurde;-(void)didMoveToWindow
- wird gesendet, unmittelbar nachdem die Ansicht ihre Fenstereigenschaften festgelegt hat. -
Grundsätzlich kann man vier Aktionen, die während der Initialisierung (1 & 2) durchzuführen, nachdem es von einer Spitze zu laden (3), vor dem Einsetzen in eine Ansichtshierarchie (4 & 5) und danach (6 & 7).
Verwandte Themen
- 1. Wie kann ich benachrichtigt werden, wenn eine UIView sichtbar wird?
- 2. Wie wird eine Teilansicht geladen, wenn die Ansicht zuerst geladen wird?
- 3. wird benachrichtigt, wenn UITextField werdenFirstResponder
- 4. Video abspielen, wenn neue Ansicht geladen wird
- 5. benachrichtigt wird, wenn eine Dateisperre
- 6. Wie wird benachrichtigt, wenn ein UIView von seinem SuperView getrennt wird?
- 7. Android wird benachrichtigt, wenn die Inhaltsanbieter-Bilddatenbank aktualisiert wird
- 8. Wie man benachrichtigt wird, wenn NSWindow schließt
- 9. Wie man benachrichtigt wird, wenn eine Benachrichtigung gemeldet wird
- 10. Prefetch in AngularJS, wenn die Ansicht geladen wird
- 11. Wissen, wenn eine Ansicht in UIView Lebenszyklus zerstört wird
- 12. Automatisch den Fokus auf die erste Zelle von UITableView setzen, wenn die Ansicht geladen wird
- 13. Android - Wird benachrichtigt, wenn ein neuer Zugangspunkt erkannt wird?
- 14. Wie wird die Ursprungsreferenz einer UIView festgelegt?
- 15. wird programmgesteuert benachrichtigt, wenn die Verarbeitung beendet ist
- 16. Wie wird die Komponentenansicht erneut geladen/aktualisiert?
- 17. Jquery wird ausgeführt, wenn die Seite geladen wird und wenn die Schaltfläche geklickt wird
- 18. onDeviceReady() wird nicht aufgerufen, wenn die Seite neu geladen wird?
- 19. $ routeChangeStart wird zweimal aufgerufen, wenn die Anmeldeseite geladen wird
- 20. google map wird erst geladen, wenn die Fenstergröße geändert wird
- 21. Update, wenn MathML geladen wird
- 22. Wenn ich horizontal durch meine Sammlungsansicht scrolle, wird die gesamte Ansicht neu geladen, wobei die Animation erneut gestartet wird.
- 23. Wie wird benachrichtigt, wenn der Benutzer Fitnessdaten verweigert?
- 24. wie man benachrichtigt wird, wenn das ble Gerät linkloss auftritt
- 25. ViewDidAppear wird nicht aufgerufen, wenn die modale Ansicht gelöscht wird
- 26. $ (document) .ready() feuern, bevor die partielle Ansicht geladen wird
- 27. Eingang Platzhalter eingestellt wird, wenn die Ansicht
- 28. Wie wird benachrichtigt, wenn ein Redis-Schlüssel abgelaufen ist?
- 29. Wie man benachrichtigt wird, wenn eine Eingabe gesetzt wurde
- 30. Wie ajax auszuführen, wenn Seite geladen wird
Vielen Dank perfekte Antwort (sehr detailliert). Ich änderte ein segmentiertes Steuerelement und es zeigte die Änderungen nicht an, da ich die Modifikationsmethode während der Init aufgerufen habe, ich habe es nach didMoveToWindow verschoben und es hat alle Probleme behoben – aryaxt
schön erklärt..mark als Community-Wiki – yasirmturk
Es scheint das alles zu sein passierte vor viewDidLoad in viewController –