2017-07-25 3 views
0

Ich möchte Badge Anzahl über Tabbar so etwas wie Bouncing Animation animieren. Hat jemand es mit nativen UITabBarController implementiert. Ich verwende keine Drittanbieter-Klasse zum Hinzufügen von UITabBarController in meinem Projekt.Wie animiert Tabbar Abzeichen Anzahl in Swift

+1

animieren möchten Ich denke nicht, dass Sie die Standardmethode der Einstellung der Zählung animieren können. Sie müssen möglicherweise Ihre eigene benutzerdefinierte Ansicht erstellen und dann Animation hinzufügen –

+1

@RakshithNandish ist richtig, haben Sie wahrscheinlich um es manuell zu tun. Sind Sie offen für die Verwendung von "Pods"? –

+0

Sie können, ich denke, das Design sollte nicht lange dauern .. versuchen Sie es. Lassen Sie mich wissen, wie das geht –

Antwort

2

ich tue etwas, was wie dieses, bevor ich mit Ihnen den Code teilen ersten i erstellen zwei Funktionen erste ist:

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) 
     } 

    } 
} 

diese Funktion nehmen Ansicht und Schleife werfen alle seine Subviews, bis er das finden Abzeichen anzeigen, dann ist es animieren Methode nennt dies eine

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") 
} 

Sie den Code bei dieser Methode mit Ihrer eigenen Animation ersetzen kann

alles, was Sie brauchen, ist diese Methode so nennen, wann immer Sie das Abzeichen

loopThrowViews(view: self.tabBarController!.tabBar) 

das Ergebnis sein wird, wie diese

enter image description here

vollständiges Beispiel hier https://github.com/AliAdam/AnimateTabbarBadgeView

+0

Arbeitete perfekt :) –

+0

Überprüfen Sie das Github-Projekt Ich erstelle eine Erweiterung nur auf Ihr Projekt und rufen Sie die Methode wie das Beispiel –

+0

Ja, ich habe diese Kategorie-Datei verwendet, um Animation für Abzeichen zu erreichen. –