我希望每个CollectionViewCell都能显示图像并隐藏标签(如果已点击)。但是,如果用户滚动,则图像会以其他未触摸的方式突然显示。如何识别某些细胞?

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

    println("user tapped on door number \(indexPath.row)")

    let cell = collectionView.cellForItemAtIndexPath(indexPath) as! MyCollectionViewCell

    if (cell.myLabel.text == "1") {
        one = true

            if (cell.myLabel.hidden) {
                cell.myLabel.hidden = false
                cell.MyImageView.image = nil

            }
            else {
                cell.myLabel.hidden = true
                cell.MyImageView.image = UIImage(named:"1")!
            }
    }

最佳答案

这是因为单元已被重用,所以不必更改每个单元,而应在已点击的单元的索引处更改数据源。

关于ios - 识别唯一的CollectionViewCells,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33966728/

10-09 12:48