iOS 漸變文字效果
阿新 • • 發佈:2018-11-25
func setGradientText() -> Void { titlDb = createLabel(rect: CGRect.init(x: 0, y: 0, width: 100, height: 100), text: "這是一個label"); titlDb.textColor = UIColor.green; titlDb.font = fontSize(size: 20); titlDb.layer.backgroundColor = UIColor.clear.cgColor; maskLayer = CAGradientLayer(); maskLayer.frame = CGRect.init(x: 100, y: 100, width: 100, height: 100); maskLayer.colors = [UIColor.red.cgColor,UIColor.green.cgColor,UIColor.orange.cgColor,UIColor.blue.cgColor,UIColor.brown.cgColor]; maskLayer.type = kCAGradientLayerAxial; maskLayer.backgroundColor = UIColor.clear.cgColor; maskLayer.startPoint = CGPoint.zero; maskLayer.endPoint = CGPoint(x: 1, y: 1); maskLayer.mask = titlDb.layer; self.view.layer.addSublayer(maskLayer); } var titlDb: UILabel! var maskLayer: CAGradientLayer!
注意幾點:
titleDb是UILabel 並且必須清除背景,layer.frame和maskLayer.frame大小一樣,並且layer.frame的原點是0,0;