让View四个角部分圆弧化

2016-06-02  本文已影响53人  地选之猿

今天学了一种让圆角部分圆弧化的方法,就是使用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用来定义圆滑的弧度.

上一篇 下一篇

猜你喜欢

热点阅读