1
В настоящее время у меня есть подкласса CALayer для создания анимируемой нижней границы моего UITextField. Однако моя функция animateColor
не работает. Я тестировал, будет ли функция вызываться, и это так. Однако анимация не происходит. Что я делаю не так?Функция анимации подкласса CALayer не анимируется
class KTextFieldBottomBorder:CALayer {
override init!() {
super.init()
commonInit()
}
override init!(layer: AnyObject!) {
super.init(layer: layer)
commonInit()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
func commonInit() {
// Appearance
self.backgroundColor = UIColor.lightGrayColor().CGColor
}
// MARK: Animations
func animateColor (endingColor:UIColor, duration:CFTimeInterval) {
var colorAnimation = CABasicAnimation(keyPath: "color")
colorAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
colorAnimation.toValue = endingColor.CGColor
colorAnimation.duration = duration
colorAnimation.fillMode = kCAFillModeForwards
super.addAnimation(colorAnimation, forKey: "color")
println("X")
}
}
Исправить. Я изменил его непосредственно в объявлении 'colorAnimation' на' var colorAnimation = CABasicAnimation (keyPath: "backgroundColor") ', чтобы уменьшить многословие. Благодарю. – iamktothed