J'ai actuellement une couleur d'arrière-plan statique:Animer les couleurs de fond dans Swift 3
self.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 1.0, alpha: 1.0)
Comment puis-je code pour créer une série de couleurs animées sur un certain nombre de secondes (par exemple 5 secondes par couleur) et puis revenir au début de la boucle de couleur?
J'ai essayé ce qui suit ...
self.backgroundColor = UIColor(red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0)
UIView.animate(withDuration: 5.0, animations: {() -> Void in
self.backgroundColor = UIColor(red: 0.0, green: 1.0, blue: 0.0, alpha: 1.0);
self.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 1.0, alpha: 1.0)
})
... mais cela reste juste sur la dernière couleur bleue.
Exactement. CoreAnimation interpole les propriétés animables entre leurs valeurs actuelles et les dernières qui sont déterminées après l'exécution du bloc d'animation. Notez également que si l'argument de bloc 'finished' n'est pas utilisé, vous pourriez être mieux avec' completion: {_ in ...} '. – J2b
Le code dans l'animation imbriquée ci-dessus va directement à la dernière couleur (bleu) et reste là sans l'animation entre les couleurs précédentes. – Bootfit