iOS 10 UICollectionView单元格选择和取消选择

时间:2016-11-22 18:37:50

标签: ios uicollectionview uicollectionviewcell ios10

我想在选择和取消选择时修改我的UICollectionView单元格。虽然backgroundViewselectedBackgroundView会自动生效,但这并不包括更复杂的例如想要更改文字颜色的情况。

在iOS 10之前我可以简单地说:

  1. 根据cellForItemAt
  2. 中的isSelected配置单元格
  3. 将其修改为didSelectItemAt
  4. 中的选定状态
  5. 将其修改为didDeselectItemAt
  6. 中的取消选择状态

    然而,由于iOS 10更改为UICollectionView,因此有一个角落情况,单元格可以离屏,我可以选择屏幕上的单元格,然后滚动先前选择的单元格并在所选配置中查看它。我现在在视觉上有两个选定的单元格,即使只有一个实际选择的单元格。

    这是因为当单元格处于屏幕外时,我无法在didDeselectItemAt中对其进行配置。它在被回收之前一直没有更新。

    我想我找到了一个答案,因为我没有在其他地方看过,所以在下面发布它可能会有所帮助。非常感谢任何其他想法,以确保我正在思考正确的方法。

1 个答案:

答案 0 :(得分:0)

这个问题是UICollectionView cell selection and cell reuse

的重复措辞

请查看我对iOS10的回答,具体如下: https://stackoverflow.com/a/40749073/2039497