在做iOS UI开发的时候我们会经常遇到要把一个矩形view的直角切成圆角,切圆角分两种情况:
1、把view的四个直角都切成圆角:
//设置圆角半径值
self.view.layer.cornerRadius = 10.f;
//设置为遮罩,除非view有阴影,否则都要指定为YES的
self.view.layer.masksToBounds = YES;
复制代码
2、指定角设置圆角
//把 view2 的 左下角 和 右下角的直角切成圆角
UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(120,10,80,80)];
view2.backgroundColor = [UIColor redColor];
[self.view addSubview:view2];
//设置切哪个直角
// UIRectCornerTopLeft = 1 << 0, 左上角
// UIRectCornerTopRight = 1 << 1, 右上角
// UIRectCornerBottomLeft = 1 << 2, 左下角
// UIRectCornerBottomRight = 1 << 3, 右下角
// UIRectCornerAllCorners = ~0UL 全部角
//得到view的遮罩路径
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view2.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(10,10)];
//创建 layer
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = view2.bounds;
//赋值
maskLayer.path = maskPath.CGPath;
view2.layer.mask = maskLayer;
复制代码
UIBezierPath是什么?