2009-03-20 5 views
2

Ich schreibe eine Standardtabellensichtanwendung mit mehreren Ansichten in der Hierarchie. Wenn ich in 3-4 Ansichten geklickt habe, gibt es eine Möglichkeit, zurück zur Draufsicht zu gelangen? Ich habe versucht, es zu laden, aber dann verliere ich die Hierarchie.2-4 vorherige Ansichten sichern

Ich weiß, dass dieser Befehl mich zurück 1 Aufruf bringen wird, das ist, was die Schaltfläche ‚Zurück‘ tut:

[self.navigationController popViewControllerAnimated:YES]; 
+0

I [Selbst auch versucht. navigationController popToViewController: sourceViewViewController animiert: YES]; Dies gab mir einen Fehler: "Versucht, zu einem View-Controller Pop-up, der nicht existiert." Ich erklärte es sogar in der .h-Datei und "synthetisiert" es .. – cmos

Antwort

5

Sie popToRootViewControllerAnimated verwenden können: oder popToViewController: animierte: Methoden.

Um den Viewcontroller zu erhalten, zu dem Sie springen müssen, rufen Sie eine Liste aller Viewcontroller vom navcontroller in einem Array ab und wählen dann den viewcontroller aus diesem Array.

dh, wenn Ihre Hierarchie svc- ist> svc2-> vc1-> vc2-> vc3-> vc4 und Sie wollen zurück zu VC1 von VC4 gehen, tun dies

NSArray *viewControllers = [[self navigationController] viewControllers]; 
UIViewController *controller = [viewControllers objectAtIndex:2]; 
[[self navigationController] popToViewController:controller animated:YES]; 
+0

Vielen Dank !! Dieser genaue Code hat super funktioniert. – cmos

+0

Das war genau das, was ich in meiner App gesucht habe. Ich pop 2 View-Controller und müssen einen Wert in der Eltern festlegen. Ich habe gerade einen Wert im Parent erstellt, den Wert mit einem Methodenaufruf festgelegt und dann den Popup-Befehl ausgeführt. Vielen Dank! – Stevus