我是Swift的新手,也是编码新手,所以如果我的问题含糊不清,或者答案很明显,请原谅我。
我有一个collectionView和里面的一些单元格。当我选择一个单元格时,我想要更改除选定单元格之外的每个单元格的颜色。我使用委托方法:didSelectItemAtIndexPath。我怎样才能访问indexpath不等于所选单元格的索引路径的单元格?
答案 0 :(得分:2)
执行此操作的一种方法是,您可以将indexPath存储在类中的变量中,并在存储此indexPath之后在didSelectItemAtIndexPath中重新加载集合视图。在您的cellForItemAtIndexPath中,检查存储的indexPath并更改单元格的颜色。
答案 1 :(得分:1)
您可以使用“集合视图”的visibleCells
属性来获取所有可见单元格。该属性返回一个可以迭代的数组,并使用indexPath(for:)
进行测试以查看它是否是您不想着色的数组。
然后,当您从数据源方法提供新单元格或使用collectionView(_:willDisplay:forItemAt:)
时,您需要确保在用户滚动时更新其他单元格,方法是设置正确的颜色。