在项目中,经常会遇到遮罩效果处理。
其中使用CAShapeLayer实现遮罩效果最佳。
下面先介绍两种遮罩场景:
正常显示的一个View
需要添加遮罩的视图
遮罩方式一:
遮罩方式一
遮罩方式二:
遮罩方式二
遮罩方式一 实现代码:
- (void)viewDidLoad {
[super viewDidLoad];
UIView *view = [[UIView alloc] init];
view.frame = CGRectMake(110.0, 100.0, 100.0, 100.0);
view.backgroundColor = [UIColor purpleColor];
[self.view addSubview:view];
view.layer.mask = [self maskStyle1:view.bounds];
}
- (CAShapeLayer *)maskStyle1:(CGRect)rect {
CGFloat x = rect.size.width/2.0;
CGFloat y = rect.size.height/2.0;
CGFloat radius = MIN(x, y)*0.8;
//
UIBezierPath *cycle = [UIBezierPath bezier