让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用来定义圆滑的弧度.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容