iOS开发

CAGradientLayer的使用

2017-05-02  本文已影响68人  庞仕山

CAGradientLayer是CALayer的子类,它经常用来实现颜色渐变,可以翻译为:渐变图层;gradient 可以翻译为梯度,渐变。

接下来我用Swift进行演示(Swift越来越火了,如果不熟悉,一定要好好学学)

先看看效果:


以下是代码
override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        self.view.backgroundColor = UIColor.white
        
        let gradientLayer = CAGradientLayer()
        gradientLayer.frame = self.view.bounds
        self.view.layer.addSublayer(gradientLayer)
        
        // 颜色分配
        gradientLayer.colors = [
            UIColor.red.cgColor,
            UIColor.yellow.cgColor,
            UIColor.blue.cgColor
        ]
        /*
         // 颜色分布:
         从0到第一个值,保持第一种颜色;
         从最后一个值到1,保持最后一种颜色;
         从n->n+1,完成从 第n个颜色 到 第n+1个颜色 的变换;
         */
        let arr = [
            0.25,
            0.5,
            0.75
        ]
        gradientLayer.locations = arr as [NSNumber]?
        
        // 下面两个参数是:开始点,结尾点;两点之间的连线可以形成一个矢量方向,即是渐变的方向
        gradientLayer.startPoint = CGPoint.init(x: 0, y: 0) // 左上角
        gradientLayer.endPoint = CGPoint.init(x: 1, y: 0) // 右上角
   }

属性讲解

如果觉得对您有帮助,就star一下吧。您的star就是对我最大的鼓励!
如果发现什么问题,或者有什么意见,请加我qq或微信:704158807
电子邮箱:pangshishan@aliyun.com

上一篇 下一篇

猜你喜欢

热点阅读