web-dev-qa-db-fra.com

Comment définir le texte d'un bouton de retour sur un UINavigationBar?

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

La situation:
J'ai un UIViewController qui est régi par un contrôleur de navigation. Je peux définir le title de la barre de navigation couvrant l'UIViewController en appelant simplement self.title = @"title". Mais, je veux être en mesure de définir le texte du bouton de retour de la barre de navigation, aussi (pour différentes langues n 'such ..)

Le problème:
Je ne sais pas comment définir le texte du bouton de retour.

La question:
Comment régler le bouton de retour de la barre UINavigation (par programmation pas dans IB)?

44
RexOnRoids

La méthode setTitle - bien qu'elle puisse sembler fonctionner, est incorrecte. Si vous y prêtez attention, vous remarquerez que l'élément de navigation change pour le nouveau titre tandis que la nouvelle vue est animée en vue via pushViewController. Le fait que vous deviez restaurer votre titre dans viewWillAppear est fastidieux, ce qui suggère en outre sa nature de piratage.

La bonne façon est de faire ce qui suit avant votre pushViewController:

 UIBarButtonItem * backButton = [[UIBarButtonItem alloc] 
 InitWithTitle: @ "Back Button Text" 
 Style: UIBarButtonItemStyleBordered 
 Cible: aucune action: néant]; 
 
 [self.navigationItem setBackBarButtonItem: backButton]; 
 [backButton release]; 
 
149
Boon

La manière la meilleure et la plus simple selon la Apple pour définir le titre du contrôleur de vue sur ce que le dos devrait dire est la suivante -

Exemple:

Si viewController1 est sous viewController2 (et le back button sur viewController2 va viewController1)

viewController1.title = @"something awesome";

les back button sur viewController2 affichera "quelque chose de génial"

12
Jlam