2017-09-30 1 views
0

J'ai un contrôleur de navigation qui est lié à un contrôleur de tabulation avec trois onglets. J'aime changer le titre pour chaque onglet. J'ai essayéComment changer le titre des contrôleurs de navigation

self.navigationController?.navigationBar.topItem?.title = "Contacts" 
navigationItem.title = "Contacts" 

pour le premier onglet le titre est affiché, mais lors du passage à un autre onglet, le titre de cet onglet n'apparaît pas, le titre reste celui du premier onglet. J'utilise Xcode 9 et Swift. En cours d'exécution sur un appareil réel et un simulateur avec le même résultat.

+0

Alors avez-vous un contrôleur de barre d'onglets enfoncé dans un contrôleur de navigation? Ou avez-vous le contrôleur de navigation comme l'un des onglets dans le contrôleur de tabulation? – Rendel

+0

J'ai le contrôleur de tabulation dans le contrôleur de navigation. –

+0

Dans chaque vue, les contrôleurs qui sont liés au contrôleur de barre d'onglets implémentent la méthode viewWillAppear et y inscrivent: self.tabBarController? .navigationItem.title = "un titre" – Rendel

Répondre

0

Essayez d'utiliser dans votre ViewController

self.title = "YOUR TITLE" 
+0

Merci. avec la réponse de Graham et Hassan Javed, l'a mis au travail. –

0

Si vous avez des classes séparées pour chacun de vos View Controller ajouter ce code à la méthode viewWillAppear:

self.tabBarController?.title = "Your view title" 

self.tabBarController?.title change la barre de navigation titre alors que self.title modifie le titre de l'élément de la barre d'onglets.

+0

Merci, je l'ai eu à travailler. –

+0

Vous êtes les bienvenus –