227 votes

Comment puis-je changer le titre du bouton "retour" sur une barre de navigation

Actuellement la gauche bar valeur par défaut de bouton est le titre de la vue qui a chargé l’actuel, en d’autres termes, la vue à afficher lorsque le bouton est enfoncé (bouton précédent).

Je veux changer le texte affiché sur le bouton à autre chose.

J’ai essayé de mettre la ligne suivante de code dans la vue viewDidLoad méthode contrôleur, mais il ne semble pas fonctionner.

Que dois-je faire ?

Merci.

343voto

Jordan Points 14134

Cela doit être placé dans la méthode qui appelle le ViewController intitulé "NewTitle". Juste avant l'instruction push ou popViewController.

 UIBarButtonItem *newBackButton = 
        [[UIBarButtonItem alloc] initWithTitle:@"NewTitle" 
                                         style:UIBarButtonItemStyleBordered 
                                        target:nil 
                                        action:nil];
[[self navigationItem] setBackBarButtonItem:newBackButton];
[newBackButton release];
 

97voto

Peter Pan Points 139

Dans ChildVC, cela a fonctionné pour moi...

82voto

Victor Bogdan Points 561

Voici la documentation pour backBarButtonItem:

"Lorsque cet élément de navigation est immédiatement au-dessous de l'élément supérieur de la pile, la manette de navigation tire le bouton de retour pour la la barre de navigation à partir de cet élément de navigation. [...] Si vous voulez spécifier une image personnalisée ou un titre pour le bouton de retour, vous pouvez affecter un personnalisé bouton de la barre d'élément (avec votre titre ou l'image) de cette la propriété à la place."

- Vue-Contrôleur , Un:

self.title = @"Really Long Title";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Short" style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;

Lorsque tout autre point de vue, contrôleur de B est sur le dessus de la pile de navigation, et Un qui est juste en dessous, B'bouton retour aura le titre "Court".

56voto

john.k.doe Points 5481

dans Xcode 4.5 utilisation de storyboard, de loin, la meilleure solution que j'ai trouvé lorsque la valeur de la touche Retour n'a pas à modifier de manière dynamique consiste à utiliser le Bouton "Retour" domaine associé à l'Élément de Navigation de la Vue-Contrôleur à laquelle vous souhaitez que le bouton "Retour" pour dire quelque chose d'autre.

par exemple, dans la capture d'écran ci-dessous, je veux que le bouton de Retour pour la vue-contrôleur(s) que je pousse à avoir de "Retour", comme le titre de la touche Retour.

enter image description here

bien sûr, cela ne fonctionnera pas si vous avez besoin de la touche retour pour dire quelque chose de légèrement différent à chaque fois ... il y a toutes les autres solutions pour que.

42voto

seniorbenelli Points 99

Je sais, la question est très ancienne, mais j’ai trouvé une solution sympa.

Œuvres de childView ! Testé avec iOS 7.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X