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'; et self.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

Était-ce utile?

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)

  1. onglet 1
    • charges tab1NavController.m (ensembles self.tabBarItem.item à '1er')
    • charges tab1ViewController.m (ensembles self.title à 'tab1 View'
  2. onglet 2
    • charges tab2NavController.m (ensembles self.tabBarItem.item à '2')
    • charges tab2ViewController.m (ensembles self.title à 'onglet View'
  3. onglet 3
    • charges tab3NavController.m (ensembles self.tabBarItem.item à '3')
    • charges tab3ViewController.m (ensembles self.title à 'tab3 View'

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:

  1. 'tab1 View'
  2. '2'
  3. '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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top