首页 > 其他 > 详细

UITableViewCell 重合问题解决方法

时间:2014-01-17 09:12:19      阅读:401      评论:0      收藏:0      [点我收藏+]

这两天做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复用,内容没有清空,那就再清空一下再赋值

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

成功解决这种问题。

UITableViewCell 重合问题解决方法

原文:http://www.cnblogs.com/dlz1123/p/3523230.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!