2011-11-08 5 views
10

Lorsque j'appuie sur une vue sur le contrôleur de navigation, le titre du bouton arrière est réglé sur le titre de la vue précédente. Comment puis-je obtenir le bouton de retour juste pour dire "Retour"?Comment changer le titre du bouton de retour UINavigationBar en "Retour"

+0

Il convient de mentionner que les Human Interface Guidelines iOS précisent que le bouton de retour « doit être étiqueté avec le titre de niveau précédent » afin d'aider vos utilisateurs orienter: https://developer.apple .com/bibliothèque/ios/documentation/userexperience/conceptuel/mobilehig/Bars.html # // apple_ref/doc/uid/TP40006556-CH12-SW3 – cleverbit

Répondre

30

écrire ce code dans votre viewwillappear:

UIBarButtonItem *_backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleDone target:nil action:nil]; 
self.navigationItem.backBarButtonItem = _backButton; 
[_backButton release]; 
_backButton = nil; 
+0

Cela ne ressemblera ni ne se comportera comme un bouton de retour. – jrturton

+3

Oui, ça va. La propriété 'backBarButtonItem' est spécialement conçue pour fonctionner comme ceci et prendra le titre ou la vue personnalisée de' UIBarButtonItem' que vous lui donnerez et en fera un bouton de style arrière. –

+1

Je voulais juste dire, en tant que demandeur de cette question, cette solution a vraiment travaillé pour moi. J'ai juste besoin d'ajouter le code à viewWillAppear du contrôleur de vue qui PUSHING la nouvelle vue. – cgossain

3

Dans le contrôleur de vue précédent, l'ont mis son titre dans viewWillAppear, puis dans le code qui pousse le nouveau contrôleur de vue, ont-il changer son titre 'Arrière.'

Exemple:

-(void)showNextScreen{ 
    [self setTitle:@"Back"]; 
    [self.navigationController pushViewController:asdf animated:YES]; 
} 
-(void)viewWillAppear{ 
    [super viewWillAppear]; 
    [self setTitle:@"My Actual Title"]; 
} 
+0

Ça a l'air bien ... mais quand le nouvel écran apparaît, l'écran précédent regarde Retour dans le titre, ce qui n'est pas préférable. Bonne idée cependant! – nithinreddy

+0

Si vous lisez cette réponse -> utilisez plutôt la réponse acceptée, c'est beaucoup mieux! – Tim

Questions connexes