版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yaojinhai06/article/details/77717436
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;