遮罩效果

CAShapeLayer *shapeLayer = [CAShapeLayer layer];

CGRect rect = CGRectMake(0,0,300,300);

UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect];

//给图层赋值路径

shapeLayer.path = path.CGPath;

//填充颜色

shaperLayer.fillColor = [UIColor redColor];

//添加遮罩

self.view.layer.mask = shapeLayer;



CALayer 有一个属性叫做mask 可以解决这个问题。

mask 属性本身就是个CALayer类型,

有和其他图层一样的绘制和布局属性。

mask图层定义了父图层的部分可见区域。

mask图层的 Color 属性是无关紧要的。mask图层实心的部分会被保留下来,其他的则会被抛弃。

CALayer 蒙版图层真正厉害的地方在于蒙版图层不局限于静态图。任何有图层构成的都可以作为mask属性,这意味着你的蒙版可以通过代码甚至是动画实时生成!

效果如下:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容