上一篇中介绍了UITableViewCell视觉差滚动效果。本篇文章介绍UITableViewCell的圆角效果,确切的说是,UITableView的每个section四个角的圆角效果。
不想读文字的同学可以直接看代码.效果图如下:
cornerRadius.gif
备注
:以下操作全部是在- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
方法中进行的
<1> 设置cell的背景色透明
关于为什么必须设置背景色为透明,原因如下:
<2> 创建CGMutablePathRef,保存绘制的路径信息
关于绘图,里面用到了下面这个函数:
CGPathAddArcToPoint(CGMutablePathRef __nullable path,
const CGAffineTransform * __nullable m, CGFloat x1, CGFloat y1,
CGFloat x2, CGFloat y2, CGFloat radius)
<3> 创建layer,并给layer添加上面的路径信息,进行渲染。
cell的层次结构