我想在以下代码后重置(设置进度为0)我的UIProgressView:
// uploadProgress: UIProgressView!
uploadProgress.progress = 0
uploadProgress.setProgress(1.0, animated: true)
我无法在此块之后立即将uploadProgress.progress设置为0,因为这样就不会出现动画。
我也不想编辑动画持续时间。
我只想让进度回到0 AFTER 动画完全。
非常感谢你的帮助。提前谢谢!
答案 0 :(得分:3)
有点晚了,但我遇到了同样的问题,这就是我解决它的方法。由于UIProgressView
上的动画是在图层上完成的,我们可以使用CATransaction
的完成块来捕捉动画结束的时间。
CATransaction.begin()
CATransaction.setCompletionBlock({
// do whatever you want when the animation is completed
self.progressBar.hidden = true
})
self.progressBar.setProgress(1.0, animated: true)
CATransaction.commit()
答案 1 :(得分:1)
您可以将动画UIView.animate函数与完成处理程序一起使用。
UIView.animateWithDuration(1, animations: { () -> Void in
self.progressBar.setProgress(1, animated: true)
}, completion: { (Bool) -> Void in
progressBar.progress = 0
})