iOS 渐变文字效果

来源:互联网 发布:java系统监控框架 编辑:程序博客网 时间:2024/06/06 08:11
    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;