第一种: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/