背景:
我有一个UICollectionViewController
以两种模式之一显示项目,用户可以在这两种模式之间切换。每种模式使用不同类别的UICollectionViewCell
. 我们将这些模式称为“列表视图”和“网格视图”。
当我切换模式时,我调用.reloadData
,UICollectionView
它使用正确的单元格类重绘集合视图。这里一切正常。
现在:在UICollectionViewCell
一种类型的单元格的子类中,我希望在包含它的集合视图切换模式时得到通知。视觉上,屏幕上的一个单元格消失了;集合视图完全使用其他类型的单元格绘制。切换回来时,单元格会重新显示。
问题:
UICollectionViewCell
当 a 从其父集合视图中“删除”(即不再显示;我不确定幕后发生了什么)时,如何通知我?
笔记:
prepareForReuse
当集合视图updateData
导致单元格不再被包含时,不会在单元格上调用。willTransitionFromLayout:toLayout:
(一个空的布局?)没有被调用。- 覆盖
didMoveToSuperview
没有帮助;它没有被调用。 - 观察
.hidden
或.alpha
对细胞不起作用。 dealloc
不调用单元格;它停留在重用队列中。
牢房中的某些东西一定在发生变化,我可以观察到或陷入其中,那是什么?