Qua*_*ntm 5 uicollectionview uicollectionviewlayout swift
如果您有一个集合视图并且您通过插入几个来更改项目,则默认布局会同时淡出它们.是否有可能一个接一个地淡化它们?
我在考虑子类化UICollectionViewLayout,但我不确定这是否会像那样工作.
我是否真的必须添加逻辑,以便不会同时发生多个插入?(这样我插入一个项目,等一下,插入第二个项目,...手动完成)必须有更好的方法.我希望
谢谢你的帮助
如果您想一次淡入一项,则必须将一项添加到模型中并重新加载该一项,然后延迟(例如asyncAfter)并执行下一项。请注意,您无法一次将所有它们添加到模型中,而只是推迟集合视图中各个项目的重新加载。您必须推迟模型的更新和集合视图中相应项目的重新加载。例如:
private func append(_ objectsToAdd: [Foo]) {
for i in 0 ..< objectsToAdd.count {
DispatchQueue.main.asyncAfter(deadline: .now() + Double(i) * 0.25) {
self.objects.append(objectsToAdd[i])
self.collectionView?.insertItems(at: [IndexPath(item: self.objects.count - 1, section: 0)])
}
}
}
Run Code Online (Sandbox Code Playgroud)
得出:
不需要子类化UICollectionViewLayout。
| 归档时间: |
|
| 查看次数: |
909 次 |
| 最近记录: |