美文网首页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的介绍

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