Aktualisieren
Es wurde erwähnt, dass viewWillAppear und viewDidAppear nicht für die Dokumente aufgerufen werden. Ich führe jedoch innerhalb dieser Methoden keine Initialisierung durch und kehre keine Benutzeroberflächenelemente zur Ansicht hinzu.
Ich habe sie nur benutzt, um Breakpoints zu platzieren, um das zu debuggen.
Irgendwelche anderen Ideen?
Ursprüngliche Frage
Ich bin ratlos. Ich überarbeite Code und bin auf seltsames Verhalten gestoßen ....
Ich initialisiere ViewController A ohne eine Spitze und setze die Ansicht programmgesteuert.
viewDidLoad in Controller A wird aufgerufen.
Innerhalb viewDidLoad von viewController A, initialisiere ich ViewController B von einer Spitze.
Ich füge viewControllerB.view als Unteransicht von viewControllerA.view
hinzuviewDidload von Controller B wird aufgerufen.
Dann wird es komisch:
viewWillAppear und viewDidAppear von viewController B nie erhalten genannt.
viewControllerB.view macht nie es auf dem Bildschirm.
Nein Fehler.
Dinge, die ich überprüft habe:
Der Name der ViewControllerBs Nib ist korrekt.
Der View-Ausgang von viewControllerB ist mit einer View verbunden.
viewControllerB und seine Ansicht sind beide nicht-null.
Und um das Ganze abzurunden, funktioniert alles super in SDK [redigiert] Beta 5!
Irgendwelche Ideen? Es muss etwas albern sein ..
Um die Sache zu schließen:
Ich könnte niemals eine Lösung finden, aber seither ist SDK 3.0 der Standard und der Punkt ist umstritten. Der Code funktioniert in aktuellen Versionen des SDK ordnungsgemäß.
Ich denke, Ihre Ansicht ist nicht die Grundansicht. Sie verwenden wahrscheinlich einen UINavigationController, versuchen Sie also, diese Methode zu implementieren
%Vor%oder dieses
%Vor%und fügen Sie in Ihrer Ansicht hinzuDidLoad
%Vor%(Vergessen Sie nicht, das UINavigationControllerDelegate-Protokoll in Ihrer .h-Datei hinzuzufügen.
Tags und Links iphone cocoa-touch uikit