2011-11-03 6 views
1

J'essaie de modifier le texte du bouton de retour depuis Interface Builder, mais lorsque je sélectionne la barre de navigation et que je vais dans l'inspecteur des attributs et que le texte du bouton arrière est fermé, avec le titre de la vue précédente.NavigationController UINavigationBar Retour Bouton

Comment puis-je faire fonctionner ceci?

Répondre

6

Le bouton de retour sera toujours afficher le titre précédent UIViewController ou backBarButtonItem défini. Par conséquent, si vous avez "view1" et passez à "view2", vous devez définir le backButton dans "view1" pour qu'il s'affiche correctement pendant que "view2" est affiché.
(En d'autres mots, "view1" est responsable de fournir ce qui doit être affiché dans un bouton de retour qui pointe vers lui)
De cette façon, si "view1" est suivi par toutes les vues, toutes celles-ci auront le bon bouton retour.

+0

J'ai déjà été capable de régler le bouton de retour via Interface Builder, mais cela ne fonctionne pas. – Baub

+1

le définir dans le code dans view1. –

+0

J'ai compris! J'ai été en mesure de le définir dans IB dans la vue 1 et cela a fonctionné comme vous l'avez décrit. J'y pensais de la mauvaise façon. Merci beaucoup! – Baub

0

Une astuce rapide consiste à définir le «titre» sur le nom que vous souhaitez utiliser dans le bouton de la commande override willDisappear dans le contrôleur de vue. Assurez-vous de redéfinir le «titre» au nom correct sur le contrôleur de vue override willAppear. Un inconvénient de cette technique est que sur les unités plus lentes, vous pouvez le voir changer. Sur l'iPhone 4 et plus tard, c'est à peine perceptible.

Espérons que cela aide.

1

Essayez ceci dans - (void) viewDidLoad, car cette méthode est tiré après la pointe a chargé:

UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStylePlain target:nil action:nil]; 
self.navigationItem.backBarButtonItem = backBarButtonItem; 
[backBarButtonItem release]; 
Questions connexes