tableivew单元格中的Collectionview。这是重用的错误

时间:2018-06-05 09:35:12

标签: ios swift

tableviewcell中的

collectionview。当tableview重用单元格时。 tableivewcell中的collectionview保持位置。这是错误吗?以及如何分开它。例如:单元格1和单元格10是collectionview(水平)。当我滚动单元格1时,单元格10也滚动相同的位置。请帮帮我。

2 个答案:

答案 0 :(得分:5)

创建Dictionary以记住每个单元格的偏移量,如:

var contentOffset: [Int: CGFloat] = [:]

当从屏幕存储中删除表格视图单元格时,您的集合视图的偏移量就像

一样
func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    guard let cell = cell as? YouTableViewCell else {
        return
    }

    contentOffset[indexPath.row] = cell.collectionView.contentOffset.x
}

现在当单元格即将显示时,恢复内容偏移量,如:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    guard let cell = cell as? YouTableViewCell else {
        return
    }

    cell.collectionView.contentOffset.x = contentOffset[indexPath.row] ?? 0
}

答案 1 :(得分:1)

这不是一个错误,当表格单元格被重用时,它也会重复使用滚动的集合视图的内容。保持谷歌搜索并查看链接:

ios 8 Swift - TableView with embedded CollectionView

https://medium.com/@gargankit476/multiple-collection-view-in-uitableview-ced7909a5af3