使用包含CollectionView

时间:2016-02-04 01:01:01

标签: ios objective-c uitableview collectionview

我有一个具有tableView的ViewController。 tableView填充自定义单元格。每个自定义单元都有一个显示图像的collectionView(当每个新闻块都有图像时,想象新闻提要结构)。

现在,在一个新闻块中编辑任何内容后,我想刷新该tableView的单个单元格(一个新闻块)。我尝试使用[newsList reloadRowsAtIndexPaths: ... ],前提是我确切知道该tableView Cell的indexPath,但问题是当我向下滚动到下一个tableView Cell并在那里进行编辑时,在重新加载第二个Cell后,所有的图像来自第一个新闻块将显示在第二个新闻块中。

是否还有其他方法可以刷新包含CollectionView的自定义单元格?

1 个答案:

答案 0 :(得分:0)

我发现自定义单元格有用的东西是创建一个configureCell方法,并在每次为单元格提供新信息时调用该方法。另外要记住的是在prepareForReuse中清除自定义数据以帮助解决重用问题。

class TestCell: UICollectionViewCell {
var myInfo: String? {
    didSet {
        if let myInfo = myInfo {
            configureCell(myInfo)
        }
    }
}

var label: UILabel?

//intialize the cell somewhere here

func configureCell(info: String) {
    label?.text = info
}

override func prepareForReuse() {
    super.prepareForReuse()
    label?.text = nil
}

}

然后,您可以在任何索引路径中获取单元格并设置新信息。

希望这可以帮到你。