Je suis en train de montrer UIViewController B
. Je veux pousser UIViewController C
et immédiatement retirer B
de la pile de navigation tout en gardant toutes les animations. Quelle est la meilleure façon de faire cela? La pile finale est A
, C
.Pop actuel UIViewController et pousser un autre
0
A
Répondre
1
Je ne suis pas sûr si c'est une bonne idée mais vous pouvez le faire de cette façon.
Dans votre C viewcontroller, par exemple dans la méthode viewDidLoad Mettre ce code
NSMutableArray *viewControllerAfterRemove=[[NSMutableArray alloc]initWithArray:self.navigationController.viewControllers];
[viewControllerAfterRemove removeObjectAtIndex:1];
self.navigationController.viewControllers=viewControllerAfterRemove;
Maintenant, quand vous popViewController dans votre contrôleur de vue C, il permet d'y retourner Une vue contrôleur.
Questions connexes
- 1. Pousser UIViewController sur un UINavigationController
- 2. Comment pop un UIViewController sur NavigationController et pousser UIView en même temps
- 3. Pousser UIWebView sur UIViewController
- 4. Pousser un UIViewController à partir d'un UIView
- 5. UIViewController présente un autre UIViewController
- 6. Un UIViewController peut-il pousser un UITabBarController?
- 7. Comment faire pour pousser UIViewController
- 8. Big Oh notation - pousser et pop
- 9. Pousser UIViewController dans un autre UIViewController avec une taille libre fixe
- 10. Présenter un UIViewController depuis un autre UIViewController?
- 11. UIView doit pousser un UIViewController (délégation)
- 12. structure du schéma MongoDB - pousser et pop
- 13. pousser et pop augmenter live octets
- 14. Animation personnalisée pour pousser un UIViewController
- 15. Fonction d'accès et variables de UIViewController dans un autre UiViewController
- 16. Problème dans UIViewController push & pop
- 17. Pousser et Pop dans un seul bouton dans l'application Windows
- 18. Différence entre Pop et Push un ViewController
- 19. Tentative de pousser un UIViewController sur un UITableViewController
- 20. Pousser un UIViewController à partir d'un contrôleur de vue modale
- 21. "Embed" UIViewController dans un autre
- 22. Pousser sélectivement une partie de UIViewController
- 23. Comment faire pour pousser uiviewcontroller sur tabbarcontroller
- 24. Liste unique liée en Python, comment écrire pop et pousser?
- 25. comment contrôler une prise d'un autre uiviewcontroller
- 26. Appel d'un autre UIViewController
- 27. Passant UIViewController à un autre bouton dans un autre ViewController
- 28. Chaîne UIViewControllers pousser et pop animation avec UINavigationController rejeter/présent vue modale?
- 29. Modifier et redessiner un autre UIView à partir du UIViewController
- 30. Comment balayer un UIViewController d'un autre
Je suggère de demander au tableau l'index de 'self', puis de supprimer l'objet à index-1 (en supposant que ce soit 0 ou un nombre positif.) Deuxièmement, je ne suis pas sûr que vous voulez faire ça dans viewDidLoad, plutôt regarder à l'aide de viewDidAppear (qui dit que la réponse ci-dessus fonctionnera probablement bien) –
@DavidH Je suis d'accord avec votre première partie mais concernant la deuxième partie, je recommande de le faire dans viewDidLoad et plutôt pas dans viewDidAppear parce que, disons vous avoir plus de viewcontroller au-delà du contrôleur C view, si vous poussez sur view pour plus de vue controller C (par exemple disons C => D view controller) alors tout l'application est recopiée D => C il supprime un objet du self.navigationController .viewControllers inutile car le viewController B a déjà été supprimé lorsque l'application a navigué depuis B => C. – Neo
elf, et quand je fais cela, j'utilise un drapeau pour déterminer si c'est la deuxième fois dans viewDidAppear. J'étais juste préoccupé par le fait de débloquer avec viewControllers pendant que le navController en animait un en vue. Cela fonctionnera ou non; En tout cas, il y aura une solution dans le sens que vous avez suggéré. –