Par défaut, le bouton de retour utilise comme texte dessus le titre d'un contrôleur de vue. Puis-je changer le texte sur le bouton de retour sans changer le titre d'un contrôleur de vue? J'en ai besoin parce que j'ai un contrôleur de vue dont le titre est trop long à afficher et dans ce cas, je voudrais afficher juste "Retour" comme légende du bouton de retour.
J'ai essayé ce qui suit qui n'a pas fonctionné:
self.navigationItem.leftBarButtonItem.title = @"Back";
Merci.
ios
iphone
cocoa-touch
uinavigationitem
Ilya Suzdalnitski
la source
la source
Réponses:
Essayer
J'ai trouvé cela en regardant la documentation backBarButtonItem dans la documentation Apple pour UINavigationItem .
la source
L'approche de Marc W a très bien fonctionné une fois que j'ai compris à quel contrôleur l'appliquer: celui qui a été renommé, pas celui du dessus. Donc, s'il s'agit de la pile de navigation:
... et que vous souhaitez donner un titre plus court à ControllerA dans le bouton de retour affiché lorsque ControllerB est en haut , vous appliquez le changement de propriété à ControllerA .
Donc, c'est plus dans le contexte de
self.title
, pas comme les autres régleurs de boutons de barre gauche / droite.la source
Vous pouvez le faire dans le storyboard. Trouvez le contrôleur de vue auquel vous souhaitez revenir (celui avec le titre long), sélectionnez son élément de navigation et ouvrez l'inspecteur d'attributs (Alt + Cmd + 4), insérez le titre personnalisé du bouton Retour.
la source
Merci Marco ... qui m'a aidé ...
Voici ce que j'ai fait.
Si vous utilisez une tableView pour naviguer vers différentes vues ... mettez le code:
Dans votre
didSelectRowAtIndexPath
méthode ... du premier contrôleur ... contrôleur A.Lorsque vous naviguez vers le contrôleur B, le bouton porte le titre «Retour».
la source
Le bouton de retour extrait son texte du titre du contrôleur de vue parent.
Dans le contrôleur de vue parent (le contrôleur de vue qui apparaît lorsque vous appuyez sur le bouton de retour), définissez son propre titre comme texte souhaité sur le bouton de retour.
Par exemple, disons que nous avons une
RootViewController
classe. Lorsque nous cliquons sur une cellule dans sa vue tableau, nous poussons une instance deSecondViewController
. Nous voulons que le bouton Précédent de l'SecondViewController
instance indique "Accueil".dans la
viewDidLoad
méthode de RootViewController.m :dans la
viewDidLoad
méthode de SecondViewController.m :Si vous voulez que votre bouton de retour indique «Retour», définissez le titre du contrôleur de vue parent sur
@"Back"
;la source
Cela fonctionne mieux pour moi. Essayez:
la source
Si vous utilisez un storyboard:
Voilà, profitez-en ...
la source
Et dans MonoTouch les travaux suivants (dans ViewDidLoad du contrôleur parent):
la source
Cela a fonctionné pour moi.
la source
Dans votre contrôleur de vue parent, définissez le bouton Retour lors du chargement de la vue:
Notez que nous n'avons pas besoin d'inclure
autorelease
à la fin la dernière version iOS.J'espère que cela t'aides!
la source
[self.navigationController.navigationBar.backItem setTitle:@"back"];
Ça marche pour moi. Vous pouvez remplacer «retour» par autre chose.
la source
Celui-ci a fonctionné pour moi si vous ne voulez pas avoir de titre!
la source
la source
J'ai finalement compris pourquoi ces réponses ne fonctionnaient pas pour moi au début. J'ai mis le titre dans le storyboard. Quand je règle le titre sur le code. Ça marche!
la source
Ma solution consistait à définir le titre lorsque le contrôleur de vue est poussé vers la pile de navigation et à le réinitialiser à l'aide de la méthode déléguée avant la fermeture du vc poussé:
J'ai donc mis le changement de titre dans l'appel du contrôleur de vue lorsque je pousse l'autre contrôleur de vue comme:
et dans la fonction de rappel de délégué (que j'appelle dans viewWillDissapear):
la source
Si vous souhaitez non seulement modifier le texte du bouton Précédent et conserver la forme originale de la flèche gauche, mais aussi faire quelque chose lorsque l'utilisateur clique sur le bouton Précédent, je vous recommande de jeter un œil à mon " CustomNavigationController ".
la source
// Vous pouvez y parvenir en définissant le titre dans le contrôleur de vue précédent comme indiqué ci-dessous
la source
Pour changer le titre du bouton de retour, reportez-vous au code ci-dessous
la source
Cela a fonctionné pour moi:
la source