TableViewCell自定义分割线

时间:2023-03-09 04:42:56
TableViewCell自定义分割线

产品设计的要求cell的分割线长度不用是整个屏幕宽,并且设计要求分割线为2px(两条),上下不同色。

实现如下: 
UITableView中将分割线样式改为None

  1. tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

自定义UITableViewCell中复写- (void)drawRect:(CGRect)rect方法

    1. - (void)drawRect:(CGRect)rect
    2. {
    3. CGContextRef context = UIGraphicsGetCurrentContext();
    4. CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
    5. CGContextFillRect(context, rect);
    6. //上分割线,
    7. CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"ffffff"].CGColor);
    8. CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1));
    9. //下分割线
    10. CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"e2e2e2"].CGColor);
    11. CGContextStrokeRect(context, CGRectMake(5, rect.size.height, rect.size.width - 10, 1));
    12. }