iOS开发:开发过程中遇到的cell重用问题(其一)

来源:互联网 发布:js 数组中删除元素 编辑:程序博客网 时间:2024/06/04 20:44

昨天在做项目的时候遇到一个cell重用问题,虽然这个问题是老生常谈,但是每一次遇到都是那么的让人眼前一亮,也是我第三次遇到cell的重用问题,前两次是tableView的cell重用问题,最后这一次遇到的是collectionView的cell重用问题。一般情况下,只要你把该做的步骤做了,cell的重用问题是不会出现的,但是二般情况下,比如我遇到这个情况,在collectionView的cell上面再放一个子视图,如果处理不好就会出错。

我先把cell重用的效果贴出来,分享一下:




然后先说一下我的写法,我先创建一个cell,这个cell只设置分区标题和底部线条,然后再在cell中间部分上面放一个自定义View来展示商品信息。但是这样设计有个最大的弊端:自定义的View是需要重用的,但是如果cell上面的商品数量是各不相同的,所以就会造成重叠。解决方法很简单,就是在给View的构建赋值的时候,先把cell上面所有的子视图remove一下,然后再进行添加、赋值操作就行了。

一句话就搞定了cell重用问题:


一句话解决问题,虽然只有一句话,但是思路很重要,如果涉及到类似的重用情况,一定要先把视图上面添加的所有子视图移除,然后再进行添加、赋值操作。

1 0