Question

Toute idée pourquoi cela fonctionne:

[[[[[self tabBarController] tabBar] items] objectAtIndex:2] 
                                          setBadgeValue:@"Hello"];

Mais cela ne fonctionne pas?

[[self tabBarItem] setBadgeValue:@"Hello"];

J'aurais préféré ne pas fournir un index explicite barre d'onglets (2 dans le code ci-dessus). Aussi, est-il un moyen d'obtenir l'indice de barre d'onglet à partir du contrôleur de vue dans le cas où le premier extrait est la seule façon de faire ce travail?

Merci.

Était-ce utile?

La solution

est le tabBarItem vous faites référence à y fait un élément dans la tabBarViewController? Si ce ne est pas alors theres votre problème. Vous pouvez connaître l'index de votre viewController car u spécifions l'ordre lorsque vous définissez les contrôleurs de vue dans votre tabBarviewCOntroller, donc si vous définissez viewController une première dans votre tabBarViewController puis sur le bouton possèderont un index de 0.

Avec votre commentaire votre question devient plus clair pour moi, comme la réponse dit, peut-être une fois que vous définissez la UITabBarController viewController, il saisit son tabBarItem et des changements plus tard à cette propriété viewController DonT obtenir mis à jour par le tabBarViewController (je peux me tromper ce est une supposition)

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