iOS 渐变文字效果

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;


猜你喜欢

转载自blog.csdn.net/yaojinhai06/article/details/77717436