让View四个角部分圆弧化

今天学了一种让圆角部分圆弧化的方法,就是使用UIBezierPath;如果是让所有的角都圆弧化,很简单,只要设置View的layer的cornerRadius就行了.

而今天要说的UIBezierPath方法是一种比较优雅的方法,这是我在一片博客上看见的,感谢作者,博客原文在这里.

-(UIView*)viewForRoundingsChangeWith:(UIView*)view byRoundingCorners:(UIRectCorner)rectCorner cornerRadii:(CGSize)cornerRadii

{

UIBezierPath*maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:rectCorner cornerRadii:cornerRadii];

CAShapeLayer*maskLayer = [[CAShapeLayer alloc]init];

maskLayer.frame= view.bounds;

maskLayer.path= maskPath.CGPath;

view.layer.mask= maskLayer;

returnview;

}

我自己定义了一个单例类,写了一个方法,实现如上.

其中rectCorner 就是定义是哪些角需要圆角化,有

* UIRectCornerTopLeft

* UIRectCornerTopRight

* UIRectCornerBottomLeft

* UIRectCornerBottomRight

* UIRectCornerAllCorners


见名知意,不多赘述.

cornerRadii用来定义圆滑的弧度.

你可能感兴趣的:(让View四个角部分圆弧化)