美文网首页
iOS 自定义UITableViewCell分割线,拽几下复用消

iOS 自定义UITableViewCell分割线,拽几下复用消

作者: 进击的阿牛哥 | 来源:发表于2019-08-05 16:47 被阅读0次

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 {

CGContextRefcontext =UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [UIColorclearColor].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 = [UIColorredColor];

参考文章:

iOS自定义UITableViewCell分割线,复用消失的问题 - 简书

相关文章

网友评论

      本文标题:iOS 自定义UITableViewCell分割线,拽几下复用消

      本文链接:https://www.haomeiwen.com/subject/bmgmdctx.html