CAGradientLayer
API:
@available(iOS 3.0, *)
open class CAGradientLayer : CALayer {
/* The array of CGColorRef objects */
open var colors: [Any]?
/* a value in the range [0,1].*/
open var locations: [NSNumber]?
/* The start and end points of the gradient when drawn into the layer's
* coordinate space. */
open var startPoint: CGPoint
open var endPoint: CGPoint
/* 目前默认只支持 public let kCAGradientLayerAxial: String */
open var type: String
}
CAGradientLayer 坐标系:
Practice:
func createUI1() {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.gradientView.bounds
self.gradientView.layer.addSublayer(gradientLayer)
// 颜色分配
gradientLayer.colors = [UIColor.blackColor().CGColor,UIColor.whiteColor().CGColor]
// 颜色分割线位置( 默认 0,1 )
gradientLayer.locations = [0,1]
// 起始点 坐标是 左上 (0,0) 右下 (1,1)
gradientLayer.startPoint = CGPointMake(0, 0)
// 结束点
gradientLayer.endPoint = CGPointMake(1, 0)
}
func createUI2() {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.gradientView2.bounds
self.gradientView2.layer.addSublayer(gradientLayer)
gradientLayer.colors = [UIColor.redColor().CGColor,UIColor.greenColor().CGColor,UIColor.blueColor().CGColor]
gradientLayer.locations = [0.25,0.5,0.75]
gradientLayer.startPoint = CGPointMake(0, 0.5)
gradientLayer.endPoint = CGPointMake(1, 0.5)
}