记得很早之前遇到过一个问题,关于cell的重叠问题,现在回顾总结一下。

iOS中tableview的cell显示是会消耗内存的,如果要显示无数个cell,不可能把每个cell都存储下来,为了解决这个问题,cell就用了重用机制,tableview中每次显示的cell数是有限的,cell的个数是能显示cell的最大个数,当超过cell能显示的最大个数,则会重用之前创建的cell,这时就出现cell的重叠问题,比如创建了第一个cell,cell里面有一个label,当重用到这个cell,label不现实,则可能出现cell的重叠现象。

解决办法:

1.cell的每个标示符都不一样。虽然解决问题了,但是内存的消耗是巨大的。

NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%d%d", [indexPath section], [indexPath row]];//以indexPath来唯一确定cell

2.删除cell下面所有的子视图。

if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

}

else

{

//删除cell的所有子视图

while ([cell.contentView.subviews lastObject] != nil)

{

[(UIView*)[cell.contentView.subviews lastObject] removeFromSuperview];

}

}

//...其他代码

}

转载于:https://www.cnblogs.com/zhouwenbo/p/5199135.html

iOS-关于cell的重叠问题相关推荐

  1. iOS——自定义cell

    iOS--自定义cell 在写自定义cell怎么实现之前,先来看一下自定义cell的作用和用法,这一点远远比怎么实现有用的多,在进行了两天的网易云仿写后,才发现自己对自定义cell的理解完全是错的,按 ...

  2. IOS多类型Cell的tableView实现

    之前阅读了处理 iOS 中复杂的 Table Views 并保持优雅.iOS:如何构建具有多种 Cell 类型的表视图两篇译文,对于如何处理多类型cell的tableView有不小的收获.但我发现多类 ...

  3. IOS中Cell自定义

    我们经常用到Cell,在这个地方我们利用cell是来盛放一个对象,在前面我们也介绍了从plist文件中获取到对象,并且存储到一个数组中,在这个程序中主要来说从Cell中获取到对象之后,我们要将数据对象 ...

  4. iOS 自定义Cell按钮的点击代理事件

    在实际开发工作中,我们经常会在自定义的Cell中布局一些按钮,并且很多时候我们会在点击这个按钮的时候使我们的UItableviewController跳转到下一界面,有的可能还要传值.那么如何使我们的 ...

  5. ios 去掉cell最后一条分割线

    如何优雅的隐藏UITableView中最后一条分割线?  这个问题是很常见,却又不太容易解决的.  可能通常的做法都是隐藏UITableView的分割线,自定义一条.  最近在使用弹出菜单的时候,同样 ...

  6. iOS 自定义cell【商品信息】 : 左侧为商品图片,右侧为商品名称,采购价,小计及数量等信息

    前言 在做ERPapp或者电商app经常需要展示商品信息,本文以入库单详情为例子,具体效果如下: code 用法 V: cell的创建 case ERPStockInOrderDetailVSecti ...

  7. html2canvas在ios中文字错乱重叠

    一.问题出现 之前有给项目加水印的需求,是好多年前的旧项目,直接引入js的方式,加了水印过之后没有修改过但是测试反应出现了文字重叠的问题: 正常水印:文字错乱水印: 细心的小伙伴已经看出来错乱水印中的 ...

  8. iOS 自定义cell

    思路 1.新建TAYTableViewCell 继承自UITableViewCell 2.添加需要使用的属性 3.写方法 4.应用 新建TAYTableViewCell 如图: 添加需要的属性 以一个 ...

  9. iOS storyboard 用法详解

    发布于:2013-12-13 15:57阅读数:118220 Storyboard是一项令人兴奋的功能,在iOS5中首次推出,在开发app的界面时可以极大地节省时间. 如下图所示,这就是一个完整的应用 ...

最新文章

  1. Spring Security源码解析(二)——引入
  2. ROS kinect:OpenNI读取深度图像与彩色图像
  3. Django(part37)--session
  4. MATLAB矩阵对称旋转
  5. Oracle审计功能
  6. java变量默为public_《Java8学习笔记》读书笔记(六)
  7. 批次程序安裝手冊寫法
  8. c语言 原码反码和补码
  9. html在线预览显示pdf文件,pdf.js插件
  10. 为方便储户,某银行拟开发计算机储蓄系统。
  11. jtopo node.text换行_JTopo 使用
  12. cass简码大全_cass 简码识别
  13. 学习DNS,这一篇文章就够了
  14. VS Code 必须要安装的插件(超详细)
  15. 微信小程序——基本语法
  16. 1124: 成语接龙
  17. 熱銷商品查詢php,ecshop首页调用指定商品分类下推荐热销最新商品
  18. 液晶显示屏行业信息汇总
  19. IDEA实现单元测试
  20. 想学ui设计从哪里入手?基础怎么入门学习UI设计呢?

热门文章

  1. 【牛客 - 181C】序列(前缀和,二分,可用set维护)(有坑)
  2. 【POJ - 3125 】Printer Queue(模拟,队列+优先队列,STL)
  3. 【POJ - 2376】Cleaning Shifts (贪心)
  4. python开发mbus程序_Python pywmbus包_程序模块 - PyPI - Python中文网
  5. Scaffold php,GitHub - yiiplus/scaffold: scaffold是一个基于Yii2高级项目模版工程化实现的应用程序...
  6. linux c 禁止对外通信,Linux C套接字:在recv调用时被阻止
  7. java车次信息_从火车站车次公示栏来学Java读写锁
  8. 计算机是一种在什么控制下 自动高速,计算机是一种能对数字化信息进行自动高速运算的通用处....ppt...
  9. Boyer-Moore 投票算法
  10. go语言快速刷《程序员面试金典》(2)