Tôi đang suy nghĩ để tạo hiệu ứng cho CAGradientLayer bằng Swift. Đối với một nguồn tài nguyên Tôi đang sử dụng này postAnimate CAGradientLayer trong Swift
Đây là mã của tôi
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")
}
}
Tôi đã cố gắng này trong Objective-C và nó hoạt động, nhưng tôi cần phải sử dụng nó trong Swift và khi tôi chạy chương trình nó hoạt hình nhưng quay trở lại màu trước đó ở cuối, tôi cần nó vẫn còn màu xanh.
không thể tin rằng tôi đã không thấy rằng nhờ – DrPatience
làm thế nào để tôi lặp lại quá trình chuyển đổi gradient này liên tục? – DrPatience
@DrPatience Tôi trễ ... – TheTiger