CALayer解析5(CAGradientLayer)
1.简介
CAGradientLayer可以很容易的将多种颜色混合到一起,特别适合用来做一个特定的渐变背景。
2.属性
属性 | 作用 |
---|---|
colors | 颜色数组,数组内是包含的CGColor |
locations | 每种颜色的锚点,如不指定,则均分,值从0-1 |
startPoint | 开始的锚点 |
endPoint | 结束的锚点 |
type | layer的类型,目前只有axial一个值 |
3.使用
import UIKitclass ViewController: UIViewController {override func viewDidLoad() {
super.viewDidLoad()
setupLayer()
}override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}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
}}
【CALayer解析5(CAGradientLayer)】最终效果:
文章图片
屏幕快照 2017-08-31 下午2.45.21.png
推荐阅读
- Quartz|Quartz 源码解析(四) —— QuartzScheduler和Listener事件监听
- Java内存泄漏分析系列之二(jstack生成的Thread|Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析)
- [源码解析]|[源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)
- Android系统启动之init.rc文件解析过程
- 小程序有哪些低成本获客手段——案例解析
- Spring源码解析_属性赋值
- Android下的IO库-Okio源码解析(一)|Android下的IO库-Okio源码解析(一) 入门
- 08_JVM学习笔记_类命名空间解析
- WebSocket|WebSocket 语法解析
- jvm|【JVM】JVM08(java内存模型解析[JMM])