I am despreate with this ProgressBar-issue.
The below code shall test a ProgressBar-update.
But the View only shows a frozen bar with progress = 0
What is wrong here ???
What is necessary (else than dispatching on the main-queue) for a UIProgressView to work ?
Here is my code:
import UIKit
class TestViewController: UIViewController {
@IBOutlet weak var progressBarOutlet: UIProgressView!
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
// self.progressBarOutlet = UIProgressView()
self.progressBarOutlet.isHidden = false
var i = 0
while i < 10 {
i = i + 1
self.progressBarOutlet.setProgress(Float(Float(i) * Float(0.1)), animated: true)
self.progressBarOutlet.progress = Float(Float(i) * Float(0.1))
sleep(1)
}
}
}
}
You can tweak your calculation on setting the progress. It is always better to use
setProgress: animated:
I altered bit of your code and seems to be working.
Code Snippet:
DispatchQueue.main.async {
var i = 0
while i < 10 {
self.progressBarOutlet.setProgress(Float(i), animated: true)
i += 1
}
}