好的,情况如下:
我有一个收集视图,其中在cellForRow
中使用dequeueReusableCell
重用单元格。在每个单元格上,都有一个自定义的UIView
对象作为子视图添加。
现在,在某种情况下,我必须完全重新布局集合视图。当这个情况发生时
清除数据模型中的所有项目
调用deleteItems
获取所有可见单元格的索引路径
致电reloadData
此时,收集视图为空,没有显示任何单元格。
现在,如果我再次使用数据更新模型并重新加载集合视图-在cellForRow
中,dequeueReusableCell
返回重用的单元格/如上所述,添加的UIView就在其中!/-即使集合视图已存在,它也不会初始化新的单元格对象在当前更新之前为空。我不确定这是否是预期的行为,或者我的代码中还有其他问题,但是我的问题是-如何达到我在收藏夹视图中的所有内容reset
和dequeueReusableCell
返回新值的地步初始化的单元格对象。
最佳答案
我是很难学到的!通过了解这一点,在任何集合视图/表视图中,只要在其布局结构中任何约束或UI元素发生任何变化,您都应该并且总是创建另一个原型单元,从而节省一些时间。这是唯一正确的方法,所以不要以为您会花更多的时间来制作另一个单元。
当我在您的发言中读到您的评论时,您将基于要重置所有内容的一种情况初始化另一种视图。只需拥有另一个具有另一个视图的单元原型,然后将其出队即可。
希望它能解决您的问题
关于ios - iOS:UICollectionView内容重置和dequeueReusableCell,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59430436/