UIProgressView become transparent during setProgress with animated = true

Viewed 353
2 Answers

The only way to change this opaque/transparent behavior is to use your own Timer.

private let progressUnit = Progress(totalUnitCount: 20)

func startAnimate(){
        self.progressView.setProgress(0.0, animated: false)
        self.progressUnit.completedUnitCount = 0
        
        Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true) { timer in
            guard self.progressUnit.isFinished == false else{
                timer.invalidate()
                return
            }
            
            self.progressUnit.completedUnitCount += 1
            let progressFloat = Float(self.progressUnit.fractionCompleted)
            self.progressView.setProgress(progressFloat, animated: true)
        }
    }

properties progressImage and trackImage it worked fine as on previous iOS versions

Related