ios - 在被点击的单元格的索引处更改数据源

标签 ios swift uicollectionviewcell collectionview

我想在点击 collectionView 的单元格时更改显示图像并隐藏标签。但是随着单元格被重复使用,其他单元格设置为在滚动时显示图像。 我怎样才能防止在。我已经开始设置单元格的标签,但我不知道如何继续。

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

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

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

    cell.tag = indexPath.row

    if (cell.tag == 0) {
        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")!
            }
    }

最佳答案

您应该尝试使用单元格具有的 selected 属性, 当用户从突出显示的单元格中抬起时,选定状态会切换。然后您可以围绕它设置条件。

    if cell?.selected == true {// do whatever you want}  else{// same do whatever you want}

我认为您不需要设置标签,因为您可以在该方法内部使用 indexPath。

关于ios - 在被点击的单元格的索引处更改数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33967210/

相关文章:

ios - 为什么我的 UICollectionView 单元格在滚动后消失了?

swift - 获取 CollectionView 中所有 collectionViewCells 的高度总和

ios - CollectionView 默认项目选择

ios - Swift 委托(delegate)返回 nil

ios - 含糊不清地使用 'subscript' 与 NSArray & JSON

ios - 滚动到tableview的顶部并显示大标题iOS

swift - 如何对元组中的所有元素求和

iOS Swift viewForHeaderInSection 未被调用

ios - 发送到实例的 UITableView 无法识别的选择器(我个人从未发送过)

ios - 如果我快速选择其中一项,如何删除所有数组