2015-04-17 1 views
0

J'ai une animation qui augmente et diminue l'échelle d'un bouton pour attirer l'attention de l'utilisateur sur le fait qu'il est tappable.Ajouter une accélération de décélération et d'accélération à l'échelle

Cela fonctionne très bien, mais il n'est pas très lisse. Une fois qu'il atteint sa taille maximale, il passe tout de suite à une réduction de taille. Je me demandais comment je pourrais lui ajouter une période de décélération et une période d'accélération de sorte que chaque fois qu'elle change de direction, elle ralentit d'abord et accélère ensuite?

Ceci est mon code:

func bloat() { 
    var animation = CABasicAnimation(keyPath: "transform.scale") 
    animation.toValue = NSNumber(float: 0.9) 
    animation.duration = 1 
    animation.repeatCount = 100 
    animation.autoreverses = true 
    faceButton.layer.addAnimation(animation, forKey: nil) 
} 

Répondre

1

Vous devez ajouter une fonction de synchronisation. Afin de garder les choses simples, vous devriez utiliser l'un des prédéfinis. Cette fonction de temporisation ajoute une accélération au démarrage et une décélération jusqu'à la fin.

+0

J'ai découvert que peu de temps après avoir posé la question (j'ai oublié de laisser une réponse), mais merci quand même! – user3746428