美文网首页ios进阶酷
iOS关于view的maskView属性或者layer的介绍

iOS关于view的maskView属性或者layer的介绍

作者: 狒狒James_Leo | 来源:发表于2018-02-12 09:41 被阅读586次

1.原理介绍

 maskView其实用的是一个alpha颜色通道与其被遮罩的视图进行颜色绑定,渲染的还是原先视图的内容。

2.一个例子

当一个View是红色的时候,我们设置一个绿色的View为红色View的maskView,redView.maskView = greenView; 

那么最终的显示效果决定因素有哪些呢?

2.1 当前内容的显示大小由greenView控制,那么显示的内容呢?答案就是显示的内容还是redView的红色,但是显示的内容还有一个影响因素,那就是greenView(遮罩的视图)的alpha(透明度决定)现在我们给两个极端的值测试,分别是alpha = 1,和alpha= 0的时候怎么显示。
2.1.1 当greenView.alpha = 1的时候表示不透明,那么greenView的每个point的阿尔法颜色通道都是不透明的, 所以最终的显示
的视图大小为greenView的大小,但是内容是红色的

2.1.2 当greenView.alpha = 0的时候表示透明,那么greenView的每个point的阿尔法颜色通道都是透明的,所以最终的显示的视图
大小为greenView的大小,但是内容是没有的。为什么没有呢?你可以把他想象为把一个视图设置为clearColor是不是也是透明的
当然你可以将greenView的颜色设置为clearColor,最终的效果依然是和2.1.2的结果一样。
 因为clearColor的alpha = 0;
当然通过调整alpha的值最终显示的redView的模糊度会随着alpha值变化。

相关文章

  • iOS关于view的maskView属性或者layer的介绍

    1.原理介绍 2.一个例子 那么最终的显示效果决定因素有哪些呢? 2.1 当前内容的显示大小由greenView控...

  • MaskView

    UIView在iOS 8.0之后新增的属性maskView的alpha=1时显示view的部分,alpha=0时不...

  • 2019-03-22

    iOS 屏幕快照(view 截图/快照) layer 快照 view 快照

  • iOS中View和Layer的区别和联系

    iOS中所有view都是用底层的layer来驱动的。view 和它的 layer 之间有着紧密的联系,view 其...

  • maskView详解及基本使用

    UIView有个maskView属性(与layer.mask 使用一样),最近研究了一下,在此分享下。 官方定义:...

  • iOS UIView和CALayer

    前言 在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间...

  • iOS UIView和CALayer

    前言 在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间...

  • iOS UIView和CALayer

    在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间有着紧...

  • iOS中UIView与CALayer的关系

    在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间有着紧...

  • iOS UIView和CALayer的区别和联系

    在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间有着紧...

网友评论

    本文标题:iOS关于view的maskView属性或者layer的介绍

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