UITableViewCell里面separator的设置

时间:2022-04-03 09:20:38
最近cell显示的时候左边一直有15个像素的偏移,查了下面的方法
//1. 不管用
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
// 2.效果不明显,并不能完全从第一个像素显示分割线
 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)])
{
[self.tableView setLayoutMargins:UIEdgeInsetsZero];
}
}
// 3.重写drawRect方法,有效果,颜色设置方便,但是操作cell,会增加手机负担
 - (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
CGContextFillRect(context, rect); //上分割线
CGContextSetStrokeColorWithColor(context,[UIColor whiteColor].CGColor);
CGContextStrokeRect(context,CGRectMake(,,rect.size.width,)); //下分割线
CGContextSetStrokeColorWithColor(context,[UIColor whiteColor].CGColor);
CGContextStrokeRect(context,CGRectMake(,rect.size.height-,rect.size.width,));
}
// 4.自定义cell,隐藏cell的separator的颜色,然后在cell的separator位置上添加一个只有1像素的view,设置view的颜色,即把view当做一条分割线使用,显示效果完美