我想在选择和取消选择时修改我的UICollectionView
单元格。虽然backgroundView
和selectedBackgroundView
会自动生效,但这并不包括更复杂的例如想要更改文字颜色的情况。
在iOS 10之前我可以简单地说:
cellForItemAt
didSelectItemAt
didDeselectItemAt
然而,由于iOS 10更改为UICollectionView,因此有一个角落情况,单元格可以离屏,我可以选择屏幕上的单元格,然后滚动先前选择的单元格并在所选配置中查看它。我现在在视觉上有两个选定的单元格,即使只有一个实际选择的单元格。
这是因为当单元格处于屏幕外时,我无法在didDeselectItemAt
中对其进行配置。它在被回收之前一直没有更新。
我想我找到了一个答案,因为我没有在其他地方看过,所以在下面发布它可能会有所帮助。非常感谢任何其他想法,以确保我正在思考正确的方法。
答案 0 :(得分:0)
这个问题是UICollectionView cell selection and cell reuse
的重复措辞请查看我对iOS10的回答,具体如下: https://stackoverflow.com/a/40749073/2039497