gpt4 book ai didi

swift - 在 Swift 中更改 UICollectionView 中的单元格背景颜色

转载 作者:IT王子 更新时间:2023-10-29 05:33:42 24 4
gpt4 key购买 nike

我正在使用水平 Collection View 来滚动日期。 Collection View 包含 30 个单元格。如果我选择第一个单元格,以指示选择,单元格背景颜色已从默认颜色红色更改为棕色。然后,如果我选择另一个单元格,则所选单元格的颜色已从红色变为棕色。但第一个单元格 BGColor 保持不变(棕色)。如何通过单击其他单元格更改为默认颜色?

       func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath 
indexPath: NSIndexPath) -> UICollectionViewCell {

var cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell",
forIndexPath: indexPath) as myViewCell

cell.date_label.text = arr_date[indexPath.item]

}

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath
indexPath: NSIndexPath) {

var cell = collectionView.cellForItemAtIndexPath(indexPath) as myViewCell

if(cell.selected)
{
cell.backgroundColor = UIColor.brownColor()

}
else
{
cell.backgroundColor = UIColor.redColor()
}

}

最佳答案

您可以使用带有参数 didSelectItemAtIndexPath 的函数 collectionView

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath 
indexPath: NSIndexPath) {

let selectedCell:UICollectionViewCell = myCollectionView.cellForItemAtIndexPath(indexPath)!
selectedCell.contentView.backgroundColor = UIColor(red: 102/256, green: 255/256, blue: 255/256, alpha: 0.66)
}

这为选定的 UICollectionViewCell 创建了一个常量,然后您只需更改背景的颜色


然后为了在取消选择时返回原始颜色,您必须使用带有参数 didDeselectItemAtIndexPath 的函数 collectionView

func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) {
let cellToDeselect:UICollectionViewCell = myCollectionView.cellForItemAtIndexPath(indexPath)!
cellToDeselect.contentView.backgroundColor = UIColor.clearColor()
}

然后您将颜色更改为原来的颜色!


例如,这里是 filterApp 中这段代码的屏幕截图

UICollectionView example

关于swift - 在 Swift 中更改 UICollectionView 中的单元格背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27674317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com