為滿足設計需求稽鞭,按鈕背景顏色為漸變色耗美,iOS 提供了CAGradientLayer 類來進行漸變色的設計
//layer進行漸變色設置
func nextBtnCagradientLayer() {
let btnLayer = CAGradientLayer.drawNextBtnGraduateColor(fromColor: "F73E46", toColor: "FBB13E")
btnLayer.frame = nextBtnEnabel.bounds
nextBtnEnabel.layer.insertSublayer(cagradientLayer,at: 1)
}
class func drawNextBtnGraduateColor(fromColor:String,toColor:String)->CAGradientLayer{
let gradentLayer = CAGradientLayer()
//創(chuàng)建漸變色數(shù)組伪嫁,轉(zhuǎn)換為CGColor
gradentLayer.colors = [UIColor.hexStringToColor(hexString:fromColor).cgColor,UIColor.hexStringToColor(hexString: toColor).cgColor]
gradentLayer.startPoint = CGPoint.init(x: 0, y: 0)
gradentLayer.endPoint = CGPoint.init(x: 1, y: 0)
//設置顏色變化點,取值范圍 0.0~1.0
gradentLayer.locations = [0,1]
return gradentLayer
}
注意:使用SnpKit約束控件進行漸變色設置無效枫慷,設置控件的frame才能繪制出漸變色