首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UICollectionViewDiffableDataSource在应用时不能正确地设置动画

UICollectionViewDiffableDataSource在应用时不能正确地设置动画
EN

Stack Overflow用户
提问于 2021-03-25 03:36:55
回答 1查看 61关注 0票数 0

我按名称散列它们,所以当我更改金额时,它们应该在申请时顺畅地重新排序。当我在UICollectionViewDiffableDataSource上调用apply(snapshot, animatingDifferences: true)函数时,它不会使用平滑的动画对单元格进行重新排序,而是会闪烁,并且所有内容都已就位,没有“重新排序”。

代码语言:javascript
复制
struct Item: Hashable {
    let name: String
    let amount: Int

    func hash(into hasher: inout Hasher) {
        hasher.combine(name)
    }
}

// when user taps, I call this
dataSource.apply(makeSnapshot())
EN

回答 1

Stack Overflow用户

发布于 2021-03-25 03:36:55

事实证明,UICollectionViewDiffableDataSource不仅使用散列来区分哪一项是哪一项,还使用==运算符。这就解决了这个问题:

代码语言:javascript
复制
struct Item: Hashable {
    let name: String
    let amount: Int

    func hash(into hasher: inout Hasher) {
        hasher.combine(name)
    }

    static func == (lhs: Category, rhs: Category) -> Bool {
        return lhs.name == rhs.name
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66788151

复制
相关文章

相似问题

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