您的位置:首页 > 移动开发 > IOS开发

iOS 遮罩(mask)效果

2016-07-09 23:49 1246 查看
如果把视图裁剪圆形,我们通常会使用给一个视图加圆角的方法。

view.layer.masksToBounds = YES;
view.layer.cornerRadius = view.frame.size.width/2;


但如果需求是裁剪某一部分,如图所示



裁剪成如下的样子:



这样,上面的方法就不奏效了。

这个时候使用layer的mask的属性,能够简单的解决这个问题。

代码如下:

创建maskView

maskView = [[UIView alloc]init];
maskView.backgroundColor = [UIColor clearColor];
maskView.frame = CGRectMake(0, 0, 275, 155);
[imageView addSubview:maskView];


创建 circleLayer

CAShapeLayer *circleLayer = [CAShapeLayer layer];
CGPoint fCirclrCenter = CGPointMake(maskView.center.x+15, maskView.center.y);
circleLayer.path = ([UIBezierPath bezierPathWithArcCenter:fCirclrCenter radius:70 startAngle:0 endAngle:2*M_PI clockwise:YES]).CGPath;

[maskView.layer addSublayer:circleLayer];

maskView.superview.layer.mask = circleLayer;


巧妙的使用mask还可以实现更多效果。以后慢慢探索。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mask 蒙版 裁剪 遮罩