一句代码搞定UIView圆角设置-性能最优

一句代码搞定UIView圆角设置-性能最优_第1张图片
圆角设置

给UIView设置圆角时,传统方式都是设置layer的masksToBounds与cornerRadius值。殊不知,这种方式会触发离屏渲染(offscreen rendering),导致APP的帧率下降,特别是如果在cell上这么用,tableView滑动时特别耗性能,会有明显卡顿。(我也是瞎比比,不过大伙都这么说)

写了个分类,通过一句代码给UIView设置圆角。使用方式如下:

[imageV mj_setCornerRadius:25.0f]; // 无边框

[imageV mj_setCornerRadius:25.0f borderColor:[UIColorredColor] AndBorderWidth:1.0f]; // 含边框

实现思路:创建两个CAShapeLayer,路径通过贝塞尔曲线UIBezierPath绘制UIView的边缘路径path,一个ShapeLayer设置为UIView的遮罩,另一个加在UIView的layer层。


一句代码搞定UIView圆角设置-性能最优_第2张图片
UIView + MJCornerRadius


喜欢点个赞吧,MJCornerRadius

你可能感兴趣的:(一句代码搞定UIView圆角设置-性能最优)