self.tabBarItem.title ne fonctionne pas?
-
23-08-2019 - |
Question
Dans mon application iPhone, j'ai une barre d'onglets. Cette barre d'onglets est titulaire d'un UINavigationController. J'ai:
- Dans Interface Builder définir le titre d'élément de l'onglet « Créer une »
- Dans le contrôleur UINavigation je
self.tabBarItem.title = 'Create New';
etself.title = 'Create New';
- Dans le UIViewController poussé sur le contrôleur: self.tabBarItem.title = « Créer un nouveau »; mais
self.title = 'Blah';
.
Mais, toujours, le self.title du premier contrôleur de vue poussé sur le contrôleur de navigation est affichée (Blah). Comment voulez-vous définir le titre de l'élément de barre d'onglets? Merci, Isaac Waller
La solution
J'ai trouvé si je self.navigationItem.title = 'Blah';
au lieu de self.title
, il travaillerait.
Autres conseils
Je viens de résoudre le même problème. J'utilisais self.tabBarItem.item
pour le 1er onglet de mon tabBarController
, qui est le premier et le seul qui charge son navigationController
. Donc, pour le premier onglet dans une barre d'onglets, vous devez définir le titre différemment. Je vais essayer d'illustrer:
barre d'onglets avec 3 onglets (a UINavigationController
fournit chaque onglet contenu)
- onglet 1
- charges tab1NavController.m (ensembles
self.tabBarItem.item
à '1er') - charges tab1ViewController.m (ensembles
self.title
à 'tab1 View'
- charges tab1NavController.m (ensembles
- onglet 2
- charges tab2NavController.m (ensembles
self.tabBarItem.item
à '2') - charges tab2ViewController.m (ensembles
self.title
à 'onglet View'
- charges tab2NavController.m (ensembles
- onglet 3
- charges tab3NavController.m (ensembles
self.tabBarItem.item
à '3') - charges tab3ViewController.m (ensembles
self.title
à 'tab3 View'
- charges tab3NavController.m (ensembles
Lorsque le chargement de la barre d'onglet tous ses viewControllers
pour chacun des 3 onglets, les boutons de l'onglet dans la barre d'onglets ont ces étiquettes:
- 'tab1 View'
- '2'
- '3'
En effet, les contrôleurs 2e et 3e nav ne sont pas chargés jusqu'à ce que l'utilisateur sélectionne les onglets. Le 1er onglet est chargé lorsque le UITabBarController
est chargé et en raison de l'ordre des événements, il remplace le tabBarItem.title
avec self.title
de l'NavController RootViewController.
Solution
Pour résoudre ce problème, vous utilisez simplement self.navigationItem.title
au lieu de self.title
. Il vous suffit de le faire pour le RootViewController de la 1ère onglet NavController.
J'espère que le bon sens. Vous avez fait résoudre votre problème, mais je voulais vous et quelqu'un d'autre pour savoir pourquoi il fonctionne comme ça.