【发布时间】:2016-11-22 18:37:49
【问题描述】:
我想在选择和取消选择时修改我的UICollectionView 单元格。虽然 backgroundView 和 selectedBackgroundView 会自动工作,但这并不包括更复杂的情况,例如想要更改文本颜色。
在 iOS 10 之前,我可以简单地:
- 根据
cellForItemAt中的isSelected配置单元格 - 修改为
didSelectItemAt中的选中状态 - 在
didDeselectItemAt修改为取消选中状态
但是,由于 iOS 10 更改为 UICollectionView,存在单元格可以离开屏幕的极端情况,我可以选择屏幕上的单元格,然后滚动之前选择的单元格并在所选配置中查看它。我现在在视觉上看到了两个选定的单元格,尽管实际上只有一个选定的单元格。
这是因为当单元格不在屏幕上时,我无法在didDeselectItemAt 中获取它来配置它。在被回收之前,它不会更新。
我想我已经找到了答案,因为我没有在其他地方看到它,所以把它贴在下面,这样可能会有所帮助。希望有任何其他想法,以确保我的想法是正确的。
【问题讨论】:
标签: ios uicollectionview uicollectionviewcell ios10