Hier sind meine Viewcontrollers als Bricht (Objekte):Push-Ansicht von modaler Ansicht und dann popToRootView
FirstViewController
- Ansicht mit Tab-Leiste + Navigationsleiste, auch einen Teil der ta bar;SecondViewController
- Ansicht nur mit NavigationssteuerungThirdViewController
- Ansicht nur mit Navigationssteuerung
Und was ich versuche (logische Schritte) zu tun:
vorhanden
SecondViewController
vonFirstViewController
(modal)drücken Sie
ThirdViewController
vonSecondViewController
(push)popToRootViewControllerAnimated
- PopThirdViewController
-FirstViewController
(pop)
Und hier ist der Code, den ich durch die Schritte bin mit:
in
FirstViewController
KlasseSecondViewController * secondViewController = [[UIStoryboard MainStoryboard] instantiateViewControllerWithIdentifier:NSStringFromClass([SecondViewController class])]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController: secondViewController]; [self.navigationController presentViewController: navigationController animated:YES completion:nil];
in
SecondViewController
Klasse:ThirdViewController * thirdViewController = [[UIStoryboard MainStoryboard] instantiateViewControllerWithIdentifier:NSStringFromClass([ThirdViewController class])]; [self.navigationController pushViewController: thirdViewController animated:YES];
und in
ThirdViewController
Klasse I tun:[self.navigationController popToRootViewControllerAnimated:YES];
Meine Fragen ist auf Punkt 3, wenn ich die Pop-Root-View-Controller zu tun, anstatt zu gehen aus ThirdViewController
zu FirstViewController
geht es nur zu SecondViewController
.
Es ist einfach. Du drückst von der zweiten auf und wenn du auf die dritte platzt, gehst du zurück zur zweiten. Denn während du drückst, wird die self.navigationController die Instanz der secondView-Steuerung haben, aber nicht die erste. –
post eine offizielle Antwort mit Codebeispiel, damit ich es abstimmen kann –