使用UIBezierPath和CAShapeLayer高效为UIView添加圆角

我们在实际开发中,经常会遇到为某个view添加圆角的需求,这样出来的view的效果是比较好看的,那么平时用的最多的实现方式是什么呢?或许你也和我一样:

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 40)];
    btn.layer.cornerRadius = 5;
    btn.clipsToBounds = YES;

虽说这样也可以实现效果,但是存在两方面的弊端:
1)不能实现对单独的某个角添加圆角。
上面提到的这种,只能强制的对某个view的四个角全添加上相同的曲率的圆角,不能进行灵活的自定义,对于很多需求不能满足。
2)性能上的消耗比较大。
如果同一个页面中只有一两次这种操作,对性能的消耗还是可以忽略不计的,但是如果是在tableview或者collectionview中大量使用这种方式进行圆角

你可能感兴趣的:(ios开发,view圆角,uiview,uibutton,需求)