以前也遇到过。但都不知道怎么就解决了。

今天费了一番功夫找到了最佳解决方案。

对于一些复杂的cell 从来都是用自定义的方法,但是如果复杂的cell里面内容多了。特别是图片加载,那难免会出现重叠重用

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    //初始化字典
NSDictionary *dict = [[NSDictionary alloc] init];
//赋值字典
  dict = table1arr[indexPath.row]; //标示符
static NSString *cellIdentifier = @"SetUpCell";
SetUpCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"SetUpCell" owner:self options:nil] lastObject]; }
//cell的内容
if(indexPath.row != 4)
{
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
} [cell reloadData:dict]; return cell; }

自定义cell代码

- (void)reloadData:(NSDictionary*)dict
{
//赋值前先清空值。
  //如果是创建的控件可以nil  或者  removeFromSuperview 这样就可以避免重用旧值,导致重用重叠
_image.image = nil;
lbl.text = nil; [_image setImage:[UIImage imageNamed:[dict objectForKey:@"image"]]]; lbl.text = [dict objectForKey:@"label"]; if ([[dict objectForKey:@"label"] isEqualToString:@"接受组邀请"]) { _centerLine.constant = -15; UILabel *lbl1 = [[UILabel alloc] init];
lbl1.frame = CGRectMake(43, lbl.zl_y + lbl.zl_height + 20, kScreenWidth - 50, 20);
lbl1.text = @"若你开启接受组邀请,将允许收到来自其他组的邀请";
lbl1.font = [UIFont systemFontOfSize:11.0];
lbl1.textColor = [UIColor grayColor]; UISwitch *sw = [[UISwitch alloc] init];
sw.frame = CGRectMake(kScreenWidth - 70, 10, 15, 5);
sw.selected = YES;
sw.on = YES;
[sw addTarget:self action:@selector(swselected:) forControlEvents:UIControlEventEditingChanged];
[self addSubview:sw]; [self addSubview:lbl1]; } }

以上内容完全自己在网上找的一些解决方案。然后理解出来的心得。

保存下来,以后要用的时候记得来找

uitableview的重用重叠问题的更多相关文章

  1. iOS学习笔记(4)— UITableView的重用机制

    UITableView中的cell是动态的,在使用过程中,系统会根据屏幕的高度(480)和每个cell的高度计算屏幕中需要显示的cell的个数.比如,cell高度为90.那么480 / 90 = 5  ...

  2. iOS学习笔记(4) — UITableView的 重用机制

    iOS学习笔记(4) — UITableView的 重用机制 UITableView中的cell是动态的,在使用过程中,系统会根据屏幕的高度(480)和每个cell的高度计算屏幕中需要显示的cell的 ...

  3. iOS基础篇(十三)——UITableView(一)重用机制

    UITableView是app开发中常用到的控件,功能很强大,常用于数据的显示.在学习UITableView使用之前,我们先简单了解一下: 1.UITableView的重用机制 UITableView ...

  4. UI之UItableView重用机制的性能问题

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  5. 操蛋的UITableView重用机制

    1,背景 你可能会遇见一下情况: 使用UITableView加载数据,比如你的每一个cell上面有一个UITextField,当你在第一个cell的UITextField中写下了内容,开始下滑UITa ...

  6. IOS开发—UITableView重用机制的了解

    引言 对于一个UITableView而言,可能需要显示成百上千个Cell,如果每个cell都单独创建的话,会消耗很大的内存.为了避免这种情况,重用机制就诞生了. 假设某个UITableView有100 ...

  7. iOS开发之UITableView及cell重用

    1.UITanleview有的两种风格 一种是Plain,一种是Grouped,可以从这里设置风格: 他们样式分别如下: Plain: Grouped: 2.tableView展示数据的过程: (1) ...

  8. tableView中cell的重用机制

    如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象,然而OS设备的内存是有限的,这样就将耗尽iOS设备的内存.要解决这个问题,需要提到重用UITable ...

  9. iOS开发——UI进阶篇(一)UITableView,索引条,汽车数据展示案例

    一.什么是UITableView 在iOS中,要实现展示列表数据,最常用的做法就是使用UITableViewUITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 UIT ...

随机推荐

  1. lru cache java

    http://www.acmerblog.com/leetcode-lru-cache-lru-5745.html acm之家的讲解是在是好,丰富 import java.util.LinkedHas ...

  2. linux find用法总结

    前言:我们为什么要学会使用find命令? 转自:http://blog.chinaunix.net/uid-24648486-id-2998767.html 每一种操作系统都有成千上万的文件组成,对于 ...

  3. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程02:关键帧动画导入与切割》

    2. 关键帧动画导入与切割 动画的分割与导入概述: 在游戏当中,游戏角色在不同状态下会有不同的动作,这些动作在引擎里相当于一段段的动画片段.当导入模型资源的时候,连同模型动画都会一并导入到引擎中.开发 ...

  4. c#文件转化byte数组

    public static byte[] ReadFile(string fileName) { if (!File.Exists(fileName)) { throw new Exception(& ...

  5. 杭电HDOJ--ACM1002(JAVA解题,运用BigInteger)(自定义MBigInteger 简单实现大数处理----完善后可以实现百亿计算器)

    转载声明:原文转自http://www.cnblogs.com/xiezie/p/5501901.html     JAVA解题:   import java.util.*; import java. ...

  6. hdoj 3549 Flow Problem【网络流最大流入门】

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  7. iOS开发中使用CIDetector检测人脸

    在iOS5 系统中,苹果就已经有了检测人脸的api,能够检测人脸的位置,包括左右眼睛,以及嘴巴的位置,返回的信息是每个点位置.在 iOS7中,苹果又加入了检测是否微笑的功能.通过使用 CIDetect ...

  8. 使用Camstudio和KeyCastOW来录屏制作软件Demo视频

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:使用Camstudio和KeyCastOW来录屏制作软件Demo视频.

  9. 用普通PC主板的蜂鸣器给树莓派(RPI)加个报警器

    这两天有点时间,捣鼓了下那闲置好久的树莓派,把普通PC主板的蜂鸣器作为树莓派的报警器用. Raspberry Pi有许多的GPIO(General Purpose Input Output:通用输入/ ...

  10. Unity4向上(Unity5)兼容PlayerPrefs的数据存储

    好久没有写项目.开发相关的内容了,刚好最近在做项目的更新时,遇到一个比较有意思的坑就随手记录一下. 因为项目的上一上线版本是由Unity5.3发的包,而最新的项目来不及同步更新到5.3版本发包测试,所 ...