Je suis perplexe. J'utilise un UINavigationController et sur une vue j'essaie de cacher le bouton de retour. Mais quand je fais cela, il cache le bouton de retour sur le prochain niveau de vues aussi.iPhone - UINavigationItem - cacher le bouton précédent
En - (void)viewWillAppear:(BOOL)animated
je:
[self.navigationItem setHidesBackButton:YES animated:NO];
Et - (void)viewWillDisappear:(BOOL)animated
je:
[self.navigationItem setHidesBackButton:NO animated:NO];
Cela fait juste le bouton de retour apparaît juste avant qu'il ne quitte (ce qui semble être c'est la fonctionnalité correcte cet appel). Par conséquent, je me suis lassé de mettre
[self.navigationItem setHidesBackButton:NO animated:NO];
dans - (void)viewWillAppear:(BOOL)animated
de la vue suivante, et cela ne fonctionne toujours pas.
Ceci est un peu déroutant puisque self.navigationItem.backBarButtonItem
est une référence de ce que le bouton de retour de cette vue sera quand il s'agit de la vue juste en dessous de la vue de dessus (ref). Mais self.navigationItem.hidesBackbutton
est de savoir si le bouton de retour est affiché lorsqu'il s'agit de la vue de dessus (ref). Donc, quelqu'un a-t-il une idée de la raison pour laquelle il cacherait le bouton de retour de la vue suivante?
Une autre chose étrange est que cela fonctionne quand je vais vers le bas une autre vue. Pour une représentation plus visuelle, disons que j'ai les vues suivantes:
A > B > C > D
B est la vue qui me préoccupe. Je veux cacher le bouton de retour qui irait à A. Quand je fais cela, il cache le bouton de retour sur C aussi. Mais si je fais descendre à D, le bouton de retour apparaît et tout agit comme il le devrait. C'est-à-dire que je peux revenir en C, puis revenir en B. B a caché son bouton et si je retourne en C, le bouton de retour apparaît comme il se doit.
Des idées?
Merci pour la réponse. Le mettre en vueDidAppear a aidé. Un moyen de l'empêcher de clignoter pendant une fraction de seconde? – RyanJM