如果您有一个集合视图并且您通过插入几个来更改项目,则默认布局会同时淡出它们.是否有可能一个接一个地淡化它们?
我在考虑子类化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)]) } } }
产量:
不需要UICollectionViewLayout的子类化.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。