相关疑难解决方法(0)

DiffableDataSource:快照不会重新加载页眉和页脚

我正在使用UICollectionViewDiffableDataSourceforUICollectionView在多个部分中显示内容。

我正在使用在 WWDC'19 上引入的Collection View Compositional Layout 和 Diffable Datasources链接来呈现的多节布局UICollectionView

我有一个简单的设置,每个部分的页眉显示该部分中的项目数,页脚显示该部分所有项目的摘要。

section 1 Header --> January 2020 - 5 Trips
section 1 item 1 --> Trip 1
section 1 item 2 --> Trip 2
section 1 item 3 --> Trip 3
section 1 item 4 --> Trip 4
section 1 item 5 --> 行程 5

现在如果行程被删除,DiffableDataSource 会通过动画更新更改,但不会重新加载各部分的标题。这看起来不一致。例如,如果行程 4 被删除,则标题仍显示该部分中有 5 个行程。我怎样才能用 DiffableDataSource 重新加载标头?

对于临时修复,我只是collectionView.reloadData()在显示 Diffing 动画的延迟后调用 ,然后我硬重新加载数据,这也强制重新加载标头。

private func configureTripDataSource(){
    tripDataSource …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview uicollectionviewlayout swift diffabledatasource

8
推荐指数
1
解决办法
1975
查看次数