gpt4 book ai didi

ios - 重新加载 collectionview 单元格而不是部分标题

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:38 25 4
gpt4 key购买 nike

当尝试创建可折叠的 UICollectionView 部分时,我会根据其状态更新部分中的项目数。然而,这样做,我重新加载了部分,同时也重新加载了部分标题,并且在部分标题中为我的图像设置动画时,我得到了一个非常奇怪的行为。

本质上,在更改节项目时重新加载节标题使 UICollectionView 能够更新项目,但节动画看起来和行为很奇怪。在不调用 reloadSection 的情况下,它允许适当的动画,但不会加载项目。

self?.collectionView?.performBatchUpdates({ 
let indexSet = IndexSet(integer: section)
self?.collectionView?.reloadSections(indexSet)
}, completion: nil)

解决这个问题的方法是什么?

最佳答案

您可以尝试提取特定部分中的 IndexPath 序列,然后在该序列上调用 reloadItems,这样做:

extension UICollectionView {
func reloadItems(inSection section:Int) {
reloadItems(at: (0..<numberOfItems(inSection: section)).map {
IndexPath(item: $0, section: section)
})
}
}

所以你的代码可能是这样的:

var updateSection = 0 // whatever
collectionView.performBatchUpdates({
// modify here the collection view
// eg. with: collectionView.insertItems
// or: collectionView.deleteItems
}) { (success) in
collectionView.reloadItems(inSection: updateSection)
}

关于ios - 重新加载 collectionview 单元格而不是部分标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48351419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com