CATextLayer的简单介绍

从名字中我们可以看到text说明是跟text编辑有关系的,CATextLayer可以实现半个字的颜色的变化,我们知道富文本类可以实现将某个字的颜色进行变化。CATextLayer实现了更详细的变化。效果如下哦:

实现这个效果主要用了三个layer层的视图,其中CATextLayer是在最上层作为遮罩效果实现的,而其余的两层都是简单的CALayer层,而这两个简单的层则是决定了你所要设置的颜色。
ViewController中的代码如下所示:


import UIKit

class ViewController: UIViewController {

    var colorTextLayer:CATextLayer!

    var toplayer:CALayer!

    var bottomlayer:CALayer!

    override func viewDidLoad() {

        super.viewDidLoad()

        

        self.p_initLayers()

        

        // Do any additional setup after loading the view, typically from a nib.

    }

    func p_initLayers(){

        toplayer = CALayer()

        toplayer.frame =CGRect(x: 50, y:0, width: 95, height:40)

        toplayer.backgroundColor =UIColor.blueColor().CGColor

        

        bottomlayer = CALayer()

        bottomlayer.frame =CGRect(x: 0, y:100, width: self.view.frame.size.width, height:40)

        bottomlayer.backgroundColor =UIColor.magentaColor().CGColor

        bottomlayer.addSublayer(toplayer)

        self.view.layer.addSublayer(bottomlayer)

        

        colorTextLayer =CATextLayer()

        colorTextLayer.string ="我会区域变色哦我会区域变色哦我会区域变色哦域变色哦我会区域变色哦"

//        colorTextLayer.foregroundColor = UIColor.yellowColor().CGColor

        colorTextLayer.frame =bottomlayer.bounds

        colorTextLayer.fontSize =20

        colorTextLayer.alignmentMode =kCAAlignmentCenter

        colorTextLayer.frame =bottomlayer.bounds

        bottomlayer.mask =colorTextLayer

        

        

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }



}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值