Frage

Ist die addSubview Methode, um die Ansicht in die Anwendung tatsächlich geladen werden oder nicht? Der Grund, warum ich frage ist, weil ich zwei zwei Ansichten in meiner Anwendung. Die Anwendung delegiert fügt die beiden Ansichten als Subviews und bringt dann eine der Ansichten vorne. Nun, ich habe eine print-Anweisung in jedem der viewDidLoad Methoden für jede Ansicht. Wenn ich die Anwendung ausführen, lädt die Anwendung delegieren die Ansichten als Subviews und wie jede Ansicht geladen wird, sehe ich eigentlich die Konsole Drucken Sie die Anweisungen, die ich in jedem der viewDidLoad Methoden gelegt. Ist dies soll das tun?

War es hilfreich?

Lösung

viewDidLoad ist eigentlich eine Methode von UIViewController, nicht UIView. Es wird aufgerufen, nachdem die Ansicht in den Speicher geladen wird (nach der init-Methode, aber vor dem awakeFromNib). Sie werden feststellen, dass addSubview bemerken: nimmt eine UIView als Parameter, so die Ansicht muss, damit die Ansicht geladen wurden zu einer anderen Ansicht hinzugefügt werden. Sonst würde versuchen Sie eine imaginäre Ansicht hinzuzufügen.

In Antwort auf Ihre Frage, ja wird angenommen, dies zu tun. viewDidLoad ist lange aufgerufen, bevor Sie addSubview. In der Tat, wenn Sie die addSubview nehmen: Linien, werden Sie feststellen, dass es immer noch heißt immer (weil Sie die Ansicht der Controller sind die Schaffung)

.

Andere Tipps

Mein Verständnis ist, dass die Ansichten faul geladen werden. Wenn Ihr Viewcontroller 10 Blick hat, sind alles, was sie nicht geladen, bis Sie tatsächlich versuchen, auf sie zuzugreifen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top