Je souhaite animer le nombre de badges sur la barre d'onglets quelque chose comme Bouncing Animation. Est-ce que quelqu'un l'a implémenté avec UITabBarController natif. Je n'utilise aucune classe tierce pour ajouter UITabBarController dans mon projet.Comment animer le comptage des badges de tabbar dans swift
Répondre
je fais quelque chose comme ça avant que je vais partager le code avec vous d'abord je crée deux fonctions premier est:
func loopThrowViews(view:UIView){
for subview in (view.subviews){
let type = String(describing: type(of: subview))
print(type)
if type == "_UIBadgeView" {
print("this is BadgeView")
animateView(view: subview)
}
else {
loopThrowViews(view:subview)
}
}
}
cette fonction vue prise et boucle jeter toutes ses sous-vues jusqu'à ce qu'il trouve la Badge Voir alors il est appeler la méthode Animer celui-ci
func animateView(view:UIView){
let shakeAnimation = CABasicAnimation(keyPath: "position")
shakeAnimation.duration = 0.05
shakeAnimation.repeatCount = 50
shakeAnimation.autoreverses = true
shakeAnimation.fromValue = NSValue(cgPoint: CGPoint(x:view.center.x - 10, y:view.center.y))
shakeAnimation.toValue = NSValue(cgPoint: CGPoint(x:view.center.x + 10, y:view.center.y))
view.layer.add(shakeAnimation, forKey: "position")
}
Vous pouvez remplacer le code à cette méthode avec votre propre animation
tout ce dont vous avez besoin est d'appeler cette méthode comme celui-ci à chaque fois que vous voulez animer le badge
loopThrowViews(view: self.tabBarController!.tabBar)
le résultat sera comme celui-ci
exemple complet ici https://github.com/AliAdam/AnimateTabbarBadgeView
A travaillé parfaitement :) –
vérifier le projet github je crée une extension il suffit de le déposer sur votre projet et d'appeler la méthode comme l'exemple –
Oui j'ai utilisé ce fichier de catégorie pour réaliser l'animation pour le badge. –
Je ne pense pas que vous pouvez animer la méthode par défaut pour définir le nombre. Vous devrez peut-être créer votre propre vue personnalisée, puis ajouter une animation –
@RakshithNandish a raison, vous avez probablement pour le faire manuellement. Êtes-vous ouvert à utiliser des «pods» pour cela? –
Vous pouvez, je suppose que la conception, il ne devrait pas vous prendre longtemps .. essayez-le. Faites-moi savoir comment ça se passe –