我有一個像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()」 –
這不是已經存在嗎? –