Я не очень много использовал UIViewPropertyAnimator
(все еще старомодный парень из блоков), и я вижу какое-то поведение, которое я не могу объяснить, и что документы на самом деле не дают никакого понимания.
Почему блок завершения аниматора вызывается с finalPosition
из .end
, даже если аниматор приостановлен сразу после его запуска?
let view = UIView()
let animator = UIViewPropertyAnimator(duration: 4, curve: .linear, animations: {
view.alpha = 0
})
animator.addCompletion { position in
print("done")
switch position {
case .start: print("start")
case .current: print("current")
case .end: print("end")
}
}
animator.startAnimation()
print("starting")
animator.pauseAnimation()
print("pausing")
Выход:
starting
pausing
done
end