如何解决我可以在 UIView.animate 中使用 DiffableDataSource 动画吗?
我在玩UITableViewDiffableDataSource
,
并且我正在尝试在更改数据源时为此函数添加延迟和持续时间:
open func apply(_ snapshot: NSDiffableDataSourceSnapshot<SectionIdentifierType,ItemIdentifierType>,animatingDifferences: Bool = true,completion: (() -> Void)? = nil)
我的代码:
func didTapButton() {
button.alpha = 0
var diffableDataSourceSnapshot = self.snapshot()
diffableDataSourceSnapshot.insertItems([newItem],afterItem: item)
diffableDataSourceSnapshot.deleteItems([item])
UIView.animate(withDuration: 1,delay: 3,options: []) {
self.apply(diffableDataSourceSnapshot,animatingDifferences: true)
} completion: { _ in
self.view.layoutIfNeeded()
}
}
我想:
- 立即隐藏按钮
- 3 秒后,使用 diffableDataSourceSnapshot 函数更改视图。
然而,UIView 动画块似乎不起作用,我看到的是应用程序立即执行 diffableDataSourceSnapshot 动画,没有持续时间和延迟。
无论如何我可以在 UIView 动画块中使用“应用”功能?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。