zoukankan      html  css  js  c++  java
  • 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 ];
        }

    成功解决这种问题。

  • 相关阅读:
    DM逻辑结构
    DM常见问题
    DM进程与线程
    DM物理存储结构
    systemdlogind.service的RemoveIPC参数影响
    DM内存结构
    DMSQL记录日志跟踪功能
    ACM中java的使用
    Java读取CSV文件为List
    Vue打包优化 优化JS过大 西门
  • 原文地址:https://www.cnblogs.com/dlz1123/p/3523230.html
Copyright © 2011-2022 走看看