我在tableViewCell中有一个collectionView
例如: 信用:How to use StoryBoard quick build a collectionView inside UITableViewCell
我想在更新信息时重新加载collectionView。
我在collectionView的cellForItemAtIndexPath中放置了一个print来测试它是否被调用但是它没有被调用。如何让collectionView重新加载?
答案 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()