2017-03-17 3 views
1

je changer de position badge avec ce code:Ajuster la position du badge UITabBarItem?

for tabBarButton in self.tabBar.subviews{ 
      for badgeView in tabBarButton.subviews{ 
       let className=NSStringFromClass(badgeView.classForCoder) 
       if className == "_UIBadgeView" 
       { 
        badgeView.layer.transform = CATransform3DIdentity 
        badgeView.layer.transform = CATransform3DMakeTranslation(-5.0, 1.0, 1.0) 
       } 
      } 
     } 

Comme je l'ai trouvé here

Je dois changer fréquemment. En conséquence, le badge saute:

http://www.giphy.com/gifs/3og0ILQSxcXE8QucFi

+0

pouvez-vous essayer badgeView.frame = CGRect.init (x: 10, y: 10, largeur: badgeView.frame.size.width, hauteur: badgeView.frame.size.height) au lieu de transformer? –

+0

@nikdange_me merci, il définit le cadre de l'insigne. mais après avoir sélectionné un autre onglet, insérez le cadre initial –

Répondre

1

j'ai commencé à faire ce cycle chaque fois, quand je change une valeur de badge. Tout va bien maintenant, sauf peu de décalage visible au démarrage.

+0

comment cette réponse a-t-elle résolu votre problème? expliquer un peu plus. – Pawan

+0

badge @pawan reste sur place spécifique, ne sautant pas à chaque fois –