首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在应用快照时停止UICollectionViewDiffableDataSource滚动集合视图?

如何在应用快照时停止UICollectionViewDiffableDataSource滚动集合视图?
EN

Stack Overflow用户
提问于 2021-02-23 19:45:23
回答 1查看 280关注 0票数 2

在应用快照时,我是否可以使UICollectionViewDiffableDataSource停止滚动集合视图?

我正在使用这个库:https://github.com/ra1028/DiffableDataSources

在使用UIRefreshControl加载更多数据时,我希望保持集合视图滚动位置。

代码语言:javascript
复制
var snapshot = DiffableDataSourceSnapshot<ChatKitDataSourceSection, ChatKitMessage>()
snapshot.deleteAllItems()
snapshot.appendSections(self.items)
self.items.forEach { section in
    snapshot.appendItems(section.rowItems, toSection: section)
}
self.apply(snapshot, animatingDifferences: true, completion: completion)

这就是每次加载更多数据时更新快照的方式。

EN

回答 1

Stack Overflow用户

发布于 2022-07-18 19:46:58

您能否确保您的模型符合Hashable,并且在每次应用快照时都不会为您的id设置一个新的UUID()。这将导致重新加载,将滚动回顶部。

确保模型的id在每个实例中都是唯一的,但是在应用新的快照时不会被覆盖。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66340037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档