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

热门标签

,

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

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];

 

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《iOS自定义UITableViewCell分割线,复用消失的问题》 发布于2019-10-18

分享到:
赞(0) 打赏

评论 抢沙发

8 + 8 =


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

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?