我有一个像Snapchat和Instagram故事一样的进度视图。进度视图到达最后或点击按钮后,我的内容会发生变化。重置UIProgressView并立即开始使用Swift 3
我正在重置内容更改时的进度视图。一切都按预期工作,而没有干预。但是,当点击下一个按钮时,进度视图不会再次开始,直到其他循环执行。您可以快速看到video here。
我碰到this question出来,而我研究,我也有同样的情况,但我无法适用的原则与SWIFT 3.
这里一个新手是我的代码,任何帮助,将不胜感激:
func startTimer(){
self.timer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(myVievController.nextItem), userInfo: nil, repeats: false)
}
func updateProgressBar() {
self.progressView.setProgress(1.0, animated: false)
UIView.animate(withDuration: 2.8, animations: {() -> Void in
self.progressView.layoutIfNeeded()
}, completion: { finished in
if finished {
self.progressView.setProgress(0, animated: false)
}
})
}
func nextItem(){
// ...
self.updateUI(item: self.myCurrentItem)
// ...
}
func updateUI(item:MyItem){
self.updateProgressBar()
self.timer.invalidate()
self.startTimer()
// Clear old item and fill new values etc...
}
@IBAction func nextButtonPressed(_ sender: UIButton) {
self.nextItem()
}
谢谢。我试过你的解决方案,但它不能帮助我。我刚刚编辑了问题以添加视频。也许它可能更有帮助。 –
尝试在“updateUI”内调用“self.updateProgressBar()” –
这不是已经存在吗? –