Gibt es etwas ähnlich wie die viewDidLoadvon UIViewControllerfür ein UIView??? Ich muss benachrichtigt werden, sobald ein UIViewgeladen wurde (Unterklasse von UIView), und einige Aktionen ausführen.
Antworten:
Abhängig davon, welche Art von Aktionen Sie ausführen müssen, gibt es verschiedene Techniken:
-(id)initWithFrame:(CGRect)frame- UIViews designierter Initialisierer; Wird 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 Schreibfeder geladen wird;-(void)awakeFromNib- gesendet, nachdem alle Objekte in der Feder initialisiert und verbunden wurden; Nur anwendbar, wenn Sie das Objekt von einer Schreibfeder laden. du musst super anrufen;-(void)willMoveToSuperview:(UIView *)newSuperview- unmittelbar vor dem Hinzufügen der Ansicht als Unteransicht zu einer anderen Ansicht gesendet werden; newSuperviewkann Null sein, wenn Sie die Ansicht aus der Übersicht entfernen;-(void)willMoveToWindow:(UIWindow *)newWindow- unmittelbar vor dem Hinzufügen der Ansicht (oder ihrer Übersicht) zu einem Fenster gesendet werden; newWindowkann Null sein, wenn Sie die Ansicht aus einem Fenster entfernen;-(void)didMoveToSuperview - sofort gesendet, nachdem die Ansicht in eine Ansichtshierarchie eingefügt wurde;-(void)didMoveToWindow- wird sofort gesendet, nachdem die Ansichtseigenschaft der Ansicht festgelegt wurde. - -Grundsätzlich können Sie festlegen, dass Ihre Aktionen während der Initialisierung (1 & 2), nach dem Laden von einer Schreibfeder (3), vor dem Einfügen in eine Ansichtshierarchie (4 & 5) und danach (6 & 7) ausgeführt werden sollen.
-(void)willMoveToSuperview:(UIView *)newSuperviewwar die Heilung für alle meine Probleme, vielen Dank!