Question

Je pousse à quelques viewcontrollers avec mon UINavigationController et quand je suis sur mon 3ème UISubViewController je codé « popToRootViewController » et pop est de retour, mais les navigationbar-éléments pousser au 2ème contrôleur de vue de ne pas le 1er ..

  • Je l'ai essayé avec et sans animation, mais rien ne va changer.
  • J'ai essayé de dire pop retour self.navigationController.navigationBar, mais ne fais rien sur ma barre.

Merci pour l'aide ..

Était-ce utile?

La solution

Je suis un peu confus à votre question, mais je pense que cela devrait aider. Pour autant que je sais que vous ne pouvez pas avoir le bouton « retour » sur un UINavigationController revenir plus de 1 pop. Alors qu'est-ce que vous faites est que vous devez ajouter un autre bouton qui fait la fonction popToRootViewController. Essayez quelque chose comme ceci:

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

self.navigationItem.rightBarButtonItem = newButton;

Cela va ajouter un bouton à droite sur votre contrôleur de navigation. L'étape suivante consiste à ajouter une fonction appelée tout ce que vous nommez dans l'action (dans ce cas, il doit être appelé « homeAction »). Cela ressemble à ceci:

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

Cela devrait couvrir le dos pop à la racine du contrôleur où que vous soyez dans la pile. Vous aurez également la méthode IBAction à votre fichier .h mais autre que celui qu'il doit faire tout ce que vous voulez.

Autres conseils

sauf si vous faites quelque chose de bizarre avec le réseau de contrôleurs Voir sur NavigationController, la méthode doit être:

[self.navigationController popToRootViewControllerAnimated:YES];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top