代码之家  ›  专栏  ›  技术社区  ›  Muju

如何在UICollectionView中更改选定项目的单元格背景颜色,并在swift中将其他单元格颜色更改为默认值

  •  0
  • Muju  · 技术社区  · 3 年前

    我在swift是新的,我试图改变UICollectionView的单元格背景颜色,但它不工作我的代码是这样在cellForItemAt

    if(cell.isSelected){
        cell.backgroundColor = UIColor.green
        }else{
           cell.backgroundColor = UIColor.clear
     }
    

    有没有办法只把选定的单元格颜色改成绿色,把其他单元格改成透明的

    0 回复  |  直到 3 年前
        1
  •  2
  •   Shehata Gamal    3 年前

    在vc中创建一个变量

    var currentSelected:Int?
    

    cellForItemAt

    cell.backgroundColor = currentSelected == indexPath.row ? UIColor.green : UIColor.clear
    

    最后 didSelectItemAt

    currentSelected = indexPath.row
    collectionView.reloadData()
    

    isSelected 当单元格出列并且滚动时,您将得到意外的结果