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

Posted

技术标签:

【中文标题】在被点击的单元格的索引处更改数据源【英文标题】:Change the data source at the index of the cell that was tapped 【发布时间】:2015-11-28 03:00:26 【问题描述】:

我想在点击时更改显示图像并在我的 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")!
            
    

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于在被点击的单元格的索引处更改数据源的主要内容,如果未能解决你的问题,请参考以下文章

在动态 UITableView 单元格的索引 0 处创建静态“添加”单元格

选择其中一个时更改其他表格视图单元格的数据

在给定的索引路径访问 UICollectionView 单元格

如何在基于部分的表格视图中获取开关更改事件中单元格的索引路径

Kendo Grid - 查找单击单元格的列和行索引

在不使用索引的情况下替换 pandas DataFrame 中选定单元格的值