comment modifier par programmation la tabbarItem de l'image
Je suis l'élaboration d'un panier onglet. À l'origine, je viens d'utiliser la valeur par défaut de l'insigne de la valeur à montrer comment de nombreux articles dans le panier sur le fond tabbar. Désormais, le concepteur veut être de fantaisie, il veut montrer une image différente en fonction du nombre d'articles dans le panier. Par exemple, si il y en a un spectacle cartTab-1.png, si 2, montrer cartTab-2.png,...
J'ai essayé de changer le tabaritem (UITabBarItem
) de l'image, mais il ne fonctionne pas pour moi. Est-il possible? J'ai discuté avec mon collègue, il a dit que je pourrais avoir à dessiner l'image sur le dessus de la tabbarItem par moi-même. Avez-vous une suggestion? Grâce
plus de détails:
- J'ai créé le tabItem à l'aide de InterfaceBuilder, et de régler l'image et le titre là-bas
- J'ai besoin de l'appui de l'ios4. Donc je ne peux pas utiliser le setSelectedImage...
- Dans mon cas, c'est un KVO, si le panier compte les modifications, il en informe la méthode pour mettre à jour l'image. pas dans l'initialisation de l'étape.
personne ne sait pourquoi [self.tabBarItem setImage:[UIImage imageNamed:@"cartxxx.png"]]
ne fonctionne pas? Quand je debug, la propriété n'a changé, mais l'INTERFACE reste la même
Mise à jour
le code ci-dessous fonctionne. Merci à tous!
UIImage* cartTabImage = [UIImage imageNamed:cartTabImageName];
[[self.tabBarController.tabBar.items objectAtIndex:3] setImage:cartTabImage];
OriginalL'auteur Jason S | 2012-01-13
Vous devez vous connecter pour publier un commentaire.
Swift version 3.0 pour 2 onglets,
OriginalL'auteur Engnyl
OriginalL'auteur panychyk.dima
La façon la plus simple que j'ai trouvé était
self.tabBarItem
n'est pas nécessairement non nulle.Ce n'est pas le réglage de la selectedImage et ne fonctionne pas correctement pour moi.
OriginalL'auteur user3344717
Essayez ceci:
OriginalL'auteur tilo
Cette Réponse Peut-être Vous Aider à
OriginalL'auteur Anand
selectedImage est affiché lorsque l'utilisateur a sélectionné l'onglet. unselectedImage est affiché lorsque l'utilisateur a sélectionné un onglet différent.
dans votre
viewDidLoad:
nec'est un iOS5 méthode. Si vous avez besoin de l'appui de l'iOS4, vous aurez à la sous-classe UITabBar et de créer des images personnalisées de code... c'est agaçant et très longue et peut devenir très buggé. Il y a des tutoriels sur comment ajouter une image personnalisée à un UITabBar
OriginalL'auteur ColdLogic
Comme mentionné sur la mise à jour de la question et les autres réponses, dans la plupart des cas, la
UITabBarItem
doit être accessible via leUITabBarController
directement.Il semble que iOS crée une copie de la
UITabBarItem
instance, ce qui explique pourquoi la mise à jour de laself.tabBarItem
bien ne pas refléter les changements dans l'interface utilisateur:Ma conjecture est que cela se passe lorsque l'Onglet de la Barre d'éléments créés par programme, au lieu de par le storyboard, mais c'est juste une supposition.
La solution est alors, comme l'a souligné, l'accès au tableau de l'Onglet Barre d'articles par l'intermédiaire de la Barre d'Onglet contrôleur. Cette solution est mauvaise en ce qu'elle dépend de la connaissance de la barre d'onglet index de l'élément:
N'oubliez pas de mettre à jour les deux images pour défaut et de certains états.
OriginalL'auteur Eneko Alonso
OriginalL'auteur Muhammad Hashim