Jestem zaangażowany w animowanie CAGradientLayer za pomocą Swift. Dla zasobu Używam tego postAnimuj CAGradientLayer w Swift
Tu jest mój kod
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")
}
}
Mam próbował tego w Objective-C i działa, ale trzeba go używać w Swift i kiedy uruchomić program animuje, ale wraca do poprzedniego koloru na końcu, potrzebuję go, więc pozostań niebieski.
nie mogę uwierzyć, że nie widzi, że dzięki – DrPatience
jak mogę powtórzyć tego przejścia gradientu ciągły? – DrPatience
@DrPatience Jestem spóźniony ... – TheTiger