1.自定义分割线问题:
自定义的UITableCell中自定义的分割线(UIView),在滑动时,cell复用的时候,分割线会消失。
原因:
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
//在这里添加的view作为分割线
}
return self;
}
分割线自定义在每个cell上,当cell复用的时候,只会读取你的数据模型的数据,但是分割线不会重新划线。
解决办法:
删除用view划线,重写cell的drawRect方法,在这里划线。
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
CGContextFillRect(context, rect);
//上分割线,
//CGContextSetStrokeColorWithColor(context, COLORWHITE.CGColor);
//CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1));
//下分割线
CGContextSetStrokeColorWithColor(context,SeparateLineColor.CGColor);
CGContextStrokeRect(context,CGRectMake(10, rect.size.height-1, SCREEN_WIDTH-20,1));
}
2.使用系统分割线:
设置分割线宽度,颜色:
// 和tableView等宽,也可自定义 UIEdgeInsetsMake(0, 0, 0, 0)
self.tableView.separatorInset = UIEdgeInsetsZero;
self.tableView.separatorColor = [UIColor redColor];