選擇漸層顏色,控制漸層方向、範圍以及位置
property
- 顏色
colors
:漸層顏色的array,顏色以CGColor
gradientLayer.colors = [UIColor.red.cgColor,UIColor.yellow.cgColor]
- 方向和範圍
startPoint
endPoint
:以起始點至終點線性漸層,以layer的bounds長寬作為單位範圍。
// 漸層方向和範圍
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 1, y: 1)
- 位置
locations
:漸層的位置範圍
梯度介於0~1且值愈來愈大,array成員個數和漸層顏色數量相同。
示範
- 顏色漸層由上至下、由紅至黃再由黃至紅
- 2/10~4/10:由紅至黃漸層
- 6/10~8/10:由黃至紅漸層
gradientLayer.colors = [UIColor.red.cgColor,UIColor.yellow.cgColor,UIColor.yellow.cgColor,UIColor.red.cgColor]
gradientLayer.locations = [0.2,0.4,0.6,0.8]
示範:漸層口罩的顏色【獨角獸粉藍】
// 以下程式碼加在viewDidLoad的function裡// 宣告漸層色圖層物件
let gradientLayer = CAGradientLayer()
gradientLayer.frame = CGRect(x: view.center.x-166, y: view.center.y/2-100, width: 328, height: 190)// 漸層顏色
gradientLayer.colors = [UIColor(red: 249/255, green: 212/255, blue: 220/255, alpha: 1).cgColor,UIColor(red: 220/255, green: 215/255, blue: 228/255, alpha: 1).cgColor,UIColor(red: 203/255, green: 226/255, blue: 236/255, alpha: 1).cgColor,UIColor(red: 200/255, green: 222/255, blue: 215/255, alpha: 1).cgColor]
// 漸層方向和範圍
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 0, y: 1)
// 漸層梯度位置: 梯度介於0~1,array成員個數和漸層顏色數量相同
gradientLayer.locations = [0.2,0.4,0.6,0.8]// 加入漸層色子圖層至view上
view.layer.addSublayer(gradientLayer)