2017-09-30 8 views
0

Ich habe einen Navigationscontroller, der mit einem Registerkartencontroller mit drei Registerkarten verknüpft ist. Ich möchte den Titel für jeden Tab ändern. Ich habe versucht,Wie ändern Navigationcontrollers Titel

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

für den ersten Registerkarte wird der Titel angezeigt, aber wenn sie auf einen anderen Tab zu ändern, der Titel dieses Registerkarte nicht angezeigt wird, bleibt der Titel das man von dem ersten Registerkarte.

Ich verwende Xcode 9 und Swift. Running auf dem realen Gerät und Simulator mit dem gleichen Ergebnis.

+0

Also haben Sie Tabbar-Controller in einen Navigationscontroller geschoben? Oder haben Sie Navigation Controller als eine der Registerkarten im Tab-Controller? – Rendel

+0

Ich habe den Tabbar-Controller als Teil des Navigation Controllers. –

+0

In jedem View-Controller, der an den Tab-Bar-Controller gebunden sind, implementieren Sie die ViewWillAppear-Methode und schreiben darin: self.tabBarController? .navigationItem.title = "ein Titel" – Rendel

Antwort

0

Versuchen zu verwenden, um dies in Ihrem Viewcontroller

self.title = "YOUR TITLE" 
+0

Danke. mit der Antwort von Graham und Hassan Javed, hat es zur Arbeit gebracht. –

0

Wenn Sie für jede Ihrer View-Controller fügen Sie diesen Code zu viewWillAppear Methode separate Klassen haben:

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

self.tabBarController?.title ändert die Navigationsleiste Titel während self.title ändert den Titel des Tabellelements.

+0

Danke, habe es zur Arbeit gebracht. –

+0

Gern geschehen –