UIViewPropertyAnimator位置重置

问题描述 投票:0回答:1

我有一个小问题。我正在尝试像Instagram一样创建动画进度条。它可以在所有情况下正常工作,除非我想展示上一个项目。断点说,当我切换到上一个项目时,UIViewPropertyAnimator位置保持在.end状态,因此它立即调用其完成并将“返回”切换到下一个项目。所以我的问题是-动画师完成工作后,如何将其位置重置为.start,然后切换下一个项目?

position progress-bar uiviewpropertyanimator
1个回答
0
投票

问题与先前调用的函数有关。在移至下一个或上一个项目之前,我调用了应该通过for_in周期更新所有UIProgressView对象的函数。因此,当上一个项目出现在屏幕上时,该项目的UIProgressView仍为.progress = 1.0,UIViewPropertyAnimator与该项目无关,因此它称为完成块并切换下一个项目。

fillProgress(bars: currentStoryItem)
let duration = story.files[currentStoryItem].duration
DispatchQueue.main.asyncAfter(deadline: .now() + 0.01) {
        self.progressBars[self.currentStoryItem].startFillingAnimation(with: duration)
}

asyncAfter保存了我的直播)

© www.soinside.com 2019 - 2024. All rights reserved.