Sto cercando di animare CAGradientLayer usando Swift. Per una risorsa Sto usando questo postAnimate CAGradientLayer in Swift
Ecco il mio codice
class ViewController: UIViewController {
var gradient : CAGradientLayer?;
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
self.gradient = CAGradientLayer()
self.gradient?.frame = self.view.bounds
self.gradient?.colors = [ UIColor.redColor().CGColor, UIColor.redColor().CGColor]
self.view.layer.insertSublayer(self.gradient, atIndex: 0)
animateLayer()
}
func animateLayer(){
var fromColors = self.gradient?.colors
var toColors: [AnyObject] = [ UIColor.blueColor().CGColor, UIColor.blueColor().CGColor]
var animation : CABasicAnimation = CABasicAnimation(keyPath: "colors")
animation.fromValue = fromColors
animation.toValue = toColors
animation.duration = 3.00
animation.removedOnCompletion = true
animation.fillMode = kCAFillModeForwards
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
animation.delegate = self
self.gradient?.addAnimation(animation, forKey:"animateGradient")
}
}
ho tentato questo in Objective-C e funziona, ma ho bisogno di usarlo in Swift e quando faccio funzionare il programma si anima ma torna al colore precedente alla fine, ne ho bisogno quindi rimani blu.
non riesco a credere che non ho visto che grazie – DrPatience
come faccio ripetere questa transizione gradiente continuo? – DrPatience
@DrPatience Sono in ritardo ... – TheTiger