UIprogressView (progerssView) анимация не перезапускается - PullRequest
2 голосов
/ 19 января 2020

Я играю вокруг, чтобы изучить и реализовать progressView, который запускается с помощью функции и сбрасывается с помощью другой, когда по какой-то причине нажимаются кнопки (и передаются со значением) по какой-то причине после того, как первый щелчок работает нормально, даже если функции вызваны также при следующих щелчках и прогресс-представление сбрасывается, его анимация не перезапускается (проверенные функции и значения корректны при использовании print () ...)

import UIKit

class ViewController: UIViewController {

let eggTimes = ["Soft" : 5, "Medium" : 7, "Hard": 12]

@IBOutlet weak var progressView: UIProgressView!

//reset the progress bar
func resetProgress(){
    progressView.setProgress(0, animated: true)
       print("function progress view reset fired")
   }

//starts the prgress bar
func startProgressView(duration: Double) {

    UIView.animate(withDuration: duration) {
        print("progress bar has been initiated")
        self.progressView.setProgress(1.0, animated: true)
    }
}

@IBAction func hardnessSelected(_ sender: UIButton) {

    resetProgress()
    print("progress bar has been reset")
    let hardness = sender.currentTitle!
    var timerCounter = eggTimes[hardness]! * 10
    let temp1: Double = Double(timerCounter)
    print("temp 1 = \(temp1) ")
    self.startProgressView(duration: temp1)
    print(eggTimes[hardness]!)

    let timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { (timer) in

        if timerCounter > 0 {
        timerCounter -= 1
       // print(timerCounter)

        }
        else {
            print("egg ready")
            timer.invalidate()
        }
    }


}

}

PS Извините, если мой вопрос написан неправильно ... впервые за много лет я спрашиваю

...