Могу ли я использовать анимацию DiffableDataSource внутри UIView.animate?
Я играю с
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, без продолжительности и задержки.
Могу ли я использовать эту функцию "apply" внутри блока анимации UIView?