遮罩效果

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属性,这意味着你的蒙版可以通过代码甚至是动画实时生成!

效果如下:


遮罩效果_第1张图片

你可能感兴趣的:(遮罩效果)