美文网首页
iOS CALayer的属性mask的使用

iOS CALayer的属性mask的使用

作者: 大城子 | 来源:发表于2019-01-29 18:10 被阅读3次

举例说明

要实现的效果:


image.png

实现思路:

    //add gradient layer to label bg view
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.frame = _labelBgView.bounds;
    //设置渐变色
    [self setupGradientlayer:gradientLayer];

    //添加渐变色图层到view容器上
    [_labelBgView.layer addSublayer:gradientLayer];
    
    //add label to label bg view
    UILabel *label = [[UILabel alloc] initWithFrame:_labelBgView.bounds];

    //remember to set the bg color's alpha to 0
    label.backgroundColor = [UIColor clearColor];
    label.textAlignment = NSTextAlignmentCenter;
    label.textColor = [UIColor blueColor];
    label.text = @"天王老子天下无敌";
    label.font = [UIFont systemFontOfSize:30];
    [_labelBgView addSubview:label];

    gradientLayer.mask = label.layer;

分析:
CALayer的mask图层, 是以透明度为基础的, 只看透明度, 即如果mask的某一点像素的透明度为1.0, 不透明, 则不进行遮罩, 不显示mask的内容;如果mask图层的某一点像素的透明度为0.0, 完全透明, 则进行遮罩, 显示mask的内容, 进行遮罩.
渐变层为彩色渐变, 且遮罩图层与渐变图层大小一样, 而label的背景颜色为clearcolor透明度为0.0, 需要进行遮罩, 因此背景色每一个像素需要显示, 而且把渐变色遮住了, 而文字部分默认颜色为黑色, 透明度为1.0, 不需要显示这部分的遮罩.
综上所诉, 遮罩图层达到的效果类似剪纸镂空的效果, 正好把文字镂空了, 因此显示的是渐变色的效果.

相关文章

  • iOS CALayer的属性mask的使用

    举例说明 要实现的效果: 实现思路: 分析:CALayer的mask图层, 是以透明度为基础的, 只看透明度, 即...

  • SplashAnimation

    涉及到的技术点CALayer的mask属性mask 也是一个 CALayer当我们使用时,就需要单独创建一个 CA...

  • CALayer

    初探CALayer属性 IOS中CALayer的使用//这个算是比较全了 iOS - CALayer 绘图层 iO...

  • CALayer的mask属性

    CALayer的mask属性俗称蒙版。@property(nullable, strong) CALayer *m...

  • iOS - CALayer的mask属性学习

    mask就是PS中的遮罩;遮罩层必须至少有两个图层,上面的一个图层为“遮罩层”,下面的称“被遮罩层”;这两个图层中...

  • CALayer的mask属性

    之前对mask属性了解的特别少,今天特意来看看其用法:*********mask就是PS中的遮罩;********...

  • CALayer之mask使用

    mask是CALayer的一个属性,它本身也是一个CALayer类。mask有和其他图层一样的绘制和布局属性。它类...

  • CALayer属性mask

    CALayer的属性mask,mask也是一个layer,这边称它为maskLayer。介绍中描述 An opti...

  • 自定义转场动画-小圆点扩散

    mask的理解 CALayer有一个属性叫做mask。比如imageLayer有一个maskLayer作为mask...

  • 547,CALayer之mask属性-遮罩(面试点:mask属性

    CALayer有一个属性叫做mask。 这个属性本身就是个CALayer类型,有和其他图层一样的绘制和布局属性。 ...

网友评论

      本文标题:iOS CALayer的属性mask的使用

      本文链接:https://www.haomeiwen.com/subject/wzzxsqtx.html