self.tabBarItem.title nicht?
-
23-08-2019 - |
Frage
In meiner iPhone-Anwendung, habe ich eine Tab-Leiste. Diese Tab-Leiste hält eine UINavigationController. Ich habe:
- In Interface Builder stellen Sie die Registerkarte Artikel Titel 'Create New'
- Im UINavigation Controller Ich habe
self.tabBarItem.title = 'Create New';
undself.title = 'Create New';
- In der UIViewController Aufschieben auf den Controller: self.tabBarItem.title = 'Create New'; aber
self.title = 'Blah';
.
Aber immer, die self.title der ersten View-Controller auf die Navigationssteuerung gedrückt wird gezeigt (Blah). Wie würden Sie den Titel der Tableiste Artikel eingestellt? Vielen Dank, Isaac Waller
Lösung
Ich fand, wenn ich self.navigationItem.title = 'Blah';
statt self.title
verwendet wird, würde es funktionieren.
Andere Tipps
Ich löste nur das gleiche Problem. Ich war mit self.tabBarItem.item
für die erste Registerkarte meiner tabBarController
, die die erste und einzige ist, das seine navigationController
lädt. So für den ersten Registerkarte in einer Tab-Leiste haben Sie den Titel anders einzustellen. Ich werde versuchen, zu veranschaulichen:
Tab-Leiste mit 3 tabs (a UINavigationController
bietet Inhalt jedes Register)
- Tab 1
- Lasten tab1NavController.m (Sets
self.tabBarItem.item
zu '1.') - Lasten tab1ViewController.m (Sets
self.title
zu 'Tab1 View'
- Lasten tab1NavController.m (Sets
- Tab 2
- Lasten tab2NavController.m (Sets
self.tabBarItem.item
zu '2.') - Lasten tab2ViewController.m (Sets
self.title
auf Registerkarte Ansicht '
- Lasten tab2NavController.m (Sets
- Tab 3
- Lasten tab3NavController.m (Sets
self.tabBarItem.item
auf '3.') - Lasten tab3ViewController.m (Sets
self.title
zu 'TAB3 View'
- Lasten tab3NavController.m (Sets
Wenn die Tableiste lädt alle seine viewControllers
für jede der drei Registerkarten, die Registerkarte Schaltflächen in der Tab-Leiste haben diese Labels:
- 'tab1 View'
- '2.'
- '3.'
Das ist, weil die 2. und 3. nav-Controller nicht geladen werden, wenn der Benutzer diese Registerkarten auswählt. Das erste Register geladen wird, wenn der UITabBarController
geladen wird und aufgrund der Reihenfolge der Ereignisse ersetzt er den tabBarItem.title
mit dem NavController des RootViewController des self.title
.
Lösung
Um dies zu beheben, nutzen Sie einfach self.navigationItem.title
statt self.title
. Sie haben nur diese RootViewController des NavController des für den ersten Registerkarte zu tun.
Ich hoffe, das macht Sinn. Sie haben Ihr eigenes Problem zu lösen, aber ich wollte Sie und alle anderen wissen, warum es so funktioniert.