UICollectionView中的图像未显示更改

时间:2018-10-26 23:50:09

标签: ios swift uicollectionview uicollectionviewcell

我有一个包含很多项目的UICollectionView。我正在商店中使用它,我想在单击它时编辑单元格中的内容。当单击单元格以进行测试时,我删除了背景,但是单击单元格时却永远不会删除。当我添加打印功能时,它仍然会打印出来,因此我知道此方法正在被调用。

我有一个具有以下功能的UICollectionView类:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! Shop1CollectionViewCell

    cell.clickedOn()
   collectionView.reloadItems(at: [indexPath])
}

我有一个关于单元格的课程:

class Shop1CollectionViewCell: UICollectionViewCell {

@IBOutlet weak var Label: UIView!

@IBOutlet weak var background: UIImageView!

func clickedOn(){
    background.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
   }

}

有什么我可以做的,它将更新单元格中的内容。似乎它已以某种方式锁定,无法更改,或者一直在重置图像。

1 个答案:

答案 0 :(得分:4)

替换此

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! Shop1CollectionViewCell

使用

let cell = collectionView.cellForItem(at: indexPath) as! Shop1CollectionViewCell

由于dequeueReusableCell返回的另一个单元格不是您单击的单元格,因此您也可以将此更改保存为该单元格,以免被其他索引出队