如何重新加载tableviewcell内的collectionview

时间:2016-02-25 08:20:49

标签: ios swift uicollectionview uitableview

我在tableViewCell中有一个collectionView

例如: example 信用:How to use StoryBoard quick build a collectionView inside UITableViewCell

我想在更新信息时重新加载collectionView。

我在collectionView的cellForItemAtIndexPath中放置了一个print来测试它是否被调用但是它没有被调用。如何让collectionView重新加载?

4 个答案:

答案 0 :(得分:7)

我发现了怎么样!在我的tableViewCell类中,我只需要将collectionView作为插座链接,所以在我的tableViewCell' cellForRowAtIndexPath我只需要调用cell.collectionView.reloadData()

答案 1 :(得分:1)

最简单的方法

for cell in tableView.visibleCells {
    (cell as? YourTableViewCell)?.collectionView.reloadData()
}

如果您需要重新加载特定的UICollectionView

if let cell = tableView.cellForRow(at: IndexPath(row: 0, section: 0)) as? YourTableViewCell {
   cell.collectionView.reloadData()
}

答案 2 :(得分:0)

使用indexPath.row的{​​{1}}为集合视图创建标记,并使用标记创建UITableView的实例并重新加载!

答案 3 :(得分:0)

在表格单元格上的第一个创建此功能:

func collectionReloadData(){
        DispatchQueue.main.async(execute: {
            self.collectionView.reloadData()
        })
    }

然后从

调用
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { ...

    cell.collectionReloadData()