自定义tableviewCell的分割线

时间:2021-07-01 11:50:00

第一种:addsubview

UIView *line = [[UIView alloc]initWithFrame:CGRectMake(10, cellH-0.5, DEVW-10, 0.5)];
line.backgroundColor = ViewLineColor;

第二种:自绘分割线。

首先设置tableView的separatorStyle为UITableViewCellSelectionStyleNone,即禁用tableview自带的分割线,然后在重载cell的drawRect方法,通过Quartz 2D技术直接进行绘制,思路如下,首先绘制整个cell的背景色,然后在cell的最下面绘制分割线,代码片段如下:

// 自绘分割线
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextFillRect(context, rect); CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:0xE2/255.0f green:0xE2/255.0f blue:0xE2/255.0f alpha:1].CGColor);
CGContextStrokeRect(context, CGRectMake(0, rect.size.height - 1, rect.size.width, 1));
}

这样绘制分割线也不用担心效率问题,因为只会在cell从隐藏变成显示是调用一次,最上面的那两个运行截图都是通过自绘方式实现的。

(转载)UITableViewCell的高亮和选中以及自绘分割线:

http://blog.163.com/moon_walker/blog/static/21317909420136242823471/