多个tableview单元格内的Collectionview,如何处理选择?

时间:2019-03-29 14:59:11

标签: ios swift uitableview uicollectionview

我有一个包含10个单元格的表格视图。每个表格视图单元格内部都有一个collectionview,

我通过覆盖isSelected此代码来处理每个collectionView选择的样式更改

override var isSelected: Bool {
    didSet{
        if(isSelected){
            backgroundColor = .black
        } else {
            backgroundColor = .red
        }
    }
}

这时它可以工作。但是当我滚动表格视图时,我看到选择样式(.red)也应用于其他单元格中的不同集合视图(当然是由于可重复使用的单元格)

我想使选择保持粘贴在内部具有选择的collectionview上,并避免将选择应用于其他collectionview

首先,您会看到collectionview里面有一个选定的项目 enter image description here

当我滚动时,我发现另一个出队列的collectionview,具有相同的选择!,该选择仅在索引路径第1行而不是第5行 enter image description here

1 个答案:

答案 0 :(得分:0)

我所做的是在modelData中添加了一个名为selectedIndex的变量。

检查cellForRowAt中的条件,并在didSelect方法上修改selectedIndex变量