為滿足設(shè)計(jì)需求,按鈕背景顏色為漸變色,iOS 提供了CAGradientLayer 類來進(jìn)行漸變色的設(shè)計(jì)
//layer進(jìn)行漸變色設(shè)置
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)
//設(shè)置顏色變化點(diǎn),取值范圍 0.0~1.0
gradentLayer.locations = [0,1]
return gradentLayer
}
注意:使用SnpKit約束控件進(jìn)行漸變色設(shè)置無效,設(shè)置控件的frame才能繪制出漸變色