UItableView Cell复用 重叠问题
来源:互联网 发布:小学生机器人编程教程 编辑:程序博客网 时间:2024/06/05 10:20
UITableView是ios开发中使用率极高的一个控件,最近在弄的一个项目涉及到复杂图文混排 其中cell复用问题凸显出来了!
所谓复用表面意思来理解就是重复利用了。大致的工作原理就是:UITableView属于lazy loading,也就是只加载会在界面上显示的部分。举个例子,比如说UITabeview的调试是400,咱们每个Cell的调试是200,这样的话,手机界面上最多就显示两个Cell,当你向上划动,第一个Cel会由l一部分离开界面,第三个Cell的一部分出现在界面的时候会再创建第三个Cell。这个时候,当第二个Cell开始离开界面,第四个Cell出现的时候,这时候不会在继续创建,而是会直接复用的第一个Cell!也就是说无论你的UITableView里有五条或者十条数据,或者一百条数据都只会创建三个Cell来展示这些数据!
总的来说,这种工作机制从CPU和内存的角度考虑都很节省资源,系统消耗少。但是在这会出现一个问题就是:这种机制是用来展示结构一样的cell的!就是说,你的cell上的子控件一成不变,但是很多时候我们的需求并不是这样,像复杂的图文混排,基本每个cell的高度与样式都不一样。这个时候在Cell复用的机制下会出现重叠的现像。
举个简单的列子: 就是说假如一个没有图片的cell复用时从复用池拿得是有图片的cell 而如果没有做这个步骤:在复用前清除从复用池中拿过来的cell上的子控件,这样从复用池拿过来的cell的子控件就会再次显示在当前屏幕显示的cell上,所以当cell即将要呗复用时,需要清理下cell上所有draw和add的东西。
代码如下
而后在实现cell的复用
- UItableView Cell复用 重叠问题
- 当UITableView cell重叠问题
- UITableView 的cell重叠问题
- UITableView之cell复用
- IOS-UITableView-Cell的重绘-避免出现重叠视图
- iOS UITableView-FDTemplateLayoutCell框架 cell重叠 高度返回0.5问题解决
- UITableView 删除cell 的问题
- IOS UITableView 图片文字重叠问题
- UITableView和UICollectionView列表出现重叠问题
- UITableView-FDTemplateLayoutCell缓存cell高度时,cell重叠高度为0的问题解决
- 关于UITableView的Cell复用
- 关于UITableView的Cell复用
- uitableview cell 中的textlabel自动换行问题
- UITableview 多选 解决cell重用问题
- UITableview 多选 解决cell重用问题
- UITableView和UICollectionView的cell重用问题
- UITableView修改Cell的宽度问题
- 解决UITableView中Cell重用机制问题
- 稳定排序和不稳定排序
- JavaScript创建对象的四种方式
- REDIS 学习(10)流程图解使用redis实现分布式锁
- 跟我学Redis 2.5 Jedis的基本操作之Hash
- HTTP & RESTFUL
- UItableView Cell复用 重叠问题
- SpringMVC入门到理解之开门篇
- 在自己的网页中引入百度地图
- Maven编译Flume-ng 1.5.0
- include和require的区别
- classpath、path、JAVA_HOME的作用及JAVA环境变量配置
- 用代码打开通知中心(statusbar、通知栏、消息中心)
- MTK编译命令
- redis的分布式连接配置(win7 和 Ubuntu)