Swift 3 如何在collectionView中选中cell时设置不同的背景色

Swift 3 How to set different background color when selected cell in collectionView

我在 viewcontroller 中有两个 Button 和一个 collectionView。当我选择第一个按钮并选择其中一个单元格时,它看起来像这样:

当我选择按钮二时,它看起来像这样:

所以我的问题是当我选择返回按钮 one 和 collectionView 时,它应该像第一张图片一样。

我应该怎么做才能得到它?有任何想法吗?谢谢

在没有真正看到任何代码的情况下,我认为您需要在 viewDidAppear 而不是 viewDidLoad 中设置单元格的背景颜色。原因是因为 viewDidLoad 只被调用一次,如果您从导航控制器点击后退按钮并且它没有按预期设置颜色,那将是查看它是否按您需要工作的第一步。

我认为您应该自定义 CollectionViewCell 并在该 Cell 中添加 mark 属性。

当您点击那个单元格的第一个按钮时。设置属性值 mark = true.

当您再次点击按钮一时,您只需要测试 mark 属性来设置单元格的背景颜色

刷新 CollectionView(更新布局)。使用

collectionView.collectionViewLayout.invalidateLayout()