主页 CALayer解析之(CAGradientLayer)
Post
Cancel

CALayer解析之(CAGradientLayer)

1.简介

CAGradientLayer 可以很容易的将多种颜色混合到一起,特别适合用来做一个特定的渐变背景。

2.属性

属性作用
colors颜色数组,数组内是包含的CGColor
locations每种颜色的锚点,如不指定,则均分,值从0-1
startPoint开始的锚点
endPoint结束的锚点
typelayer的类型,目前只有axial一个值
  • startPointendPoint 是一个相对的点,没有具体的位置,x表示位于x轴上的位置,最左边为0,最右边为1。y表示位于y有轴上的位置,0表示最上方,1表示底端。

3.使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import UIKit
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        setupLayer()
    }
    func setupLayer() {
        //创建出layer
        let gradientLayer = CAGradientLayer()
        gradientLayer.frame = view.frame
        //设置颜色数组
        gradientLayer.colors = [cgColorFor(red: 200, green: 0, blue: 0),
                                cgColorFor(red: 255, green: 100, blue: 30),
                                cgColorFor(red: 255, green: 200, blue: 30),
                                cgColorFor(red: 50, green: 200, blue: 0),
                                cgColorFor(red: 30, green: 0, blue: 100),
                                cgColorFor(red: 50, green: 0, blue: 70)]
        //设置锚点
        gradientLayer.startPoint = CGPoint(x: 0, y: 0)
        gradientLayer.endPoint = CGPoint(x: 0, y: 1)
        view.layer.addSublayer(gradientLayer)
    }
    func cgColorFor(red: CGFloat, green: CGFloat, blue: CGFloat) -> CGColor {
        return UIColor(red: red/255.0, green: green/255.0, blue: blue/255.0, alpha: 1).cgColor
    }
}

最终效果:

该博客文章由作者通过 CC BY 4.0 进行授权。

文章目录

Twitter启动动画解析

如何给Tableview Collectionview添加动效