Я недавно столкнулся с этой проблемой еще раз, и после некоторого исследования я решил, что в принципе ничего не изменилось (и, вероятно, не произойдет в обозримом будущем), поэтому я в конечном итоге использовал Facebook POP framework (не только)для этого.
Вы можете легко создавать анимацию основных свойств как для вида, так и для слоя, но, кроме того, он обеспечивает плавный переход между цветами (и в основном все, что вы хотите, даже ваши пользовательские типы, с некоторым дополнительным кодированием).Поэтому для цвета фона вы должны сделать что-то вроде этого:
// Create spring animation (there are more types, if you want)
let animation = POPSpringAnimation(propertyNamed: kPOPViewBackgroundColor)
// Configure it properly
animation.autoreverses = false
animation.removedOnCompletion = true
animation.fromValue = UIColor.yourBeginningColor()
animation.toValue = UIColor.yourFinalColor()
// Add new animation to your view - animation key can be whatever you like, serves as reference
label.pop_addAnimation(animation, forKey: "YourAnimationKey")
Альт, теперь вы можете анимировать цвета фона для всего, что имеет это свойство!