好的,情况如下:

我有一个收集视图,其中在cellForRow中使用dequeueReusableCell重用单元格。在每个单元格上,都有一个自定义的UIView对象作为子视图添加。

现在,在某种情况下,我必须完全重新布局集合视图。当这个情况发生时


清除数据模型中的所有项目
调用deleteItems获取所有可见单元格的索引路径
致电reloadData


此时,收集视图为空,没有显示任何单元格。

现在,如果我再次使用数据更新模型并重新加载集合视图-在cellForRow中,dequeueReusableCell返回重用的单元格/如上所述,添加的UIView就在其中!/-即使集合视图已存在,它也不会初始化新的单元格对象在当前更新之前为空。我不确定这是否是预期的行为,或者我的代码中还有其他问题,但是我的问题是-如何达到我在收藏夹视图中的所有内容resetdequeueReusableCell返回新值的地步初始化的单元格对象。

最佳答案

我是很难学到的!通过了解这一点,在任何集合视图/表视图中,只要在其布局结构中任何约束或UI元素发生任何变化,您都应该并且总是创建另一个原型单元,从而节省一些时间。这是唯一正确的方法,所以不要以为您会花更多的时间来制作另一个单元。

当我在您的发言中读到您的评论时,您将基于要重置所有内容的一种情况初始化另一种视图。只需拥有另一个具有另一个视图的单元原型,然后将其出队即可。

希望它能解决您的问题

关于ios - iOS:UICollectionView内容重置和dequeueReusableCell,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59430436/

10-10 17:55