web-dev-qa-db-fra.com

Changer le titre du bouton de retour UINavigationBar

Dans mon application, je souhaite utiliser le texte "Retour" comme titre du bouton de retour pour chaque contrôleur de visualisation .

Je ne veux pas définir le leftbarbuttonitem. 

Quelqu'un peut-il m'aider dans cette tâche simple?.

Merci, 

33
S S

Faites cela dans le contrôleur de vue parent pas dans l'enfant

Rapide

navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)

Objectif c

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
91
rustylepord
self.navigationController.navigationBar.topItem.title = @"";
34
Alex_Burla

Si vous utilisez le storyboard, vous pouvez sélectionner l'élément de navigation dans le contrôleur de vue parent et définir le texte du bouton souhaité dans le champ 'Bouton Précédent'. N'oubliez pas de définir ceci dans le contrôleur de vue parent, pas dans l'enfant qui est poussé.

 enter image description here

8
P.L.

Essayez cet espoir ce sera un travail

UIBarButtonItem *btn = 
        [[UIBarButtonItem alloc] initWithTitle:@"New Title" 
                                         style:UIBarButtonItemStyleBordered 
                                        target:nil 
                                        action:nil];
[[self navigationItem] setBackBarButtonItem:btn];
5
morroko

J'avais besoin d'utiliser self.navigationController.navigationBar.backItem.title = @"";, la différence étant que j'utilise backItem au lieu de topItem.

3
Brian

Swift 2.0:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.navigationBar.topItem?.title = ""
}

Remarque: cela ne fonctionne que si le storyboard a une chaîne de pile de navigation.

Autres options/titre changeant:

self.navigationController?.navigationBar.backItem?.title = ""
navigationItem.backBarButtonItem?.title = ""
navigationItem.leftBarButtonItem?.title = ""

Supprimer navigationItem: 

navigationItem.setLeftBarButtonItem(nil, animated: true)
1
A.G
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
1
WoShiNiBaBa

dans AppDelegate dans la DidFinishLaunchingWithOptions, ajoutez ce code:

[[UIBarButtonItem appearance] 
setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000.0, 0.0) 
forBarMetrics:UIBarMetricsDefault];
0
Gaurav Malhotra

Change le bouton Précédent actuellement visible

extension UIViewController {
func setCurrentBackButton(title: String) {
    guard let vcCount = self.navigationController?.viewControllers.count else {
        return
    }

    let priorVCPosition = vcCount - 2

    guard priorVCPosition >= 0 else {
        return
    }

    self.navigationController?.viewControllers[priorVCPosition].navigationItem.backBarButtonItem = UIBarButtonItem(title: title, style: .plain, target: self, action: nil)
}
0
PMW