• UITableViewCell 重合问题解决方法


    这两天做ios遇到一个UITableViewCell 数据重合的问题,原因:引起这个问题的主要原因是,重用cell。之前cell上的内容未被清空,而又增加新增内容所致。从网上查了一些解决方法,比如:

    解决方案:在使用cell时,首先删除cell上的view,代码如下。

    static NSString *identifier = @"Fanmeli";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    if (!cell) {
    //cell = [[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:identifier];
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
    }else{
    // 删除cell中的子对象,刷新覆盖问题。
    while ([cell.contentView.subviews lastObject] != nil) {
    [(UIView*)[cell.contentView.subviews lastObject] removeFromSuperview];
    }
    }

    除了以上方法还有就是不让cell去复用,当然这种方式尽量避免,上面的方案试了一下没有起作用,不过也给我我启发,既然是cell复用,内容没有清空,那就再清空一下再赋值

     if (cell == nil) {
            cell = [[SystemNoticeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellTableIdentifier];
        }else{
            [cell clearCell ];
        }

    成功解决这种问题。

  • 相关阅读:
    JVM(三)初始化
    JVM(四)类加载机制
    JVM(一)内存分配
    java的日期时间处理(待更新)
    Java----finally
    FFmpeg(一)
    SqlServer
    MySql 8.0.12安装、配置
    Android的各大框架整理
    互联网协议入门
  • 原文地址:https://www.cnblogs.com/dlz1123/p/3523230.html
Copyright © 2020-2023  润新知