Frage

Ich bin drängen auf ein paar Viewcontrollers mit meinem UINavigationController und als ich auf dem dritten UISubViewController Ich bin kodiert ‚popToRootViewController‘ und es ist wieder Pop, und die navigationbar-Elemente drücken auf den 2. view-Controller nicht auf den ersten ..

  • Ich versuchte es mit und ohne belebende, aber nichts ist wird sich ändern.
  • Ich habe versucht, self.navigationController.navigationBar zu sagen Pop zurück, aber es tut nichts an meiner Bar.

Vielen Dank für die Hilfe ..

War es hilfreich?

Lösung

Ich bin ein wenig zu Ihrer Frage verwirrt, aber ich denke, das sollte helfen. Soweit ich weiß, Sie können nicht die „Zurück“ -Taste haben auf eine UINavigationController gehen mehr als 1 Pop. Also, was Sie tun, ist, müssen Sie eine andere Taste hinzufügen, die die popToRootViewController Funktion tut. Probieren Sie etwas wie folgt aus:

UIBarButtonItem *newButton = [[UIBarButtonItem alloc] initWithTitle:@"Home" style:UIBarButtonItemStylePlain target:self action:@selector(homeAction:)];

self.navigationItem.rightBarButtonItem = newButton;

Dies wird eine Schaltfläche auf der rechten Seite auf dem Navigationscontroller hinzuzufügen. Der nächste Schritt ist eine Funktion hinzuzufügen genannt, was Sie in der Namen der Aktion (in diesem Fall muss es „homeAction“ bezeichnet werden). Das sieht so:

-(IBAction)homeAction:(id)sender {
      [self.navigationController popToRootViewControllerAnimated:YES];
}

Dies sollte das Pop zurück in die Wurzel des Controllers abdecken, wo immer Sie in dem Stapel sind. Sie werden auch zu IBAction Methode zu Ihrer .h-Datei haben, aber außer, dass es alles tun, sollten Sie wollen.

Andere Tipps

, wenn Sie etwas seltsam mit dem Array von UIViewControllers von Navigation tun, sollte das Verfahren sein:

[self.navigationController popToRootViewControllerAnimated:YES];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top