Ios Swift 3:UIProgressView没有';更新进度
我写了下面的代码来更新progressView,但它只在完成循环并显示100%完成时在屏幕上反映。有什么问题吗Ios Swift 3:UIProgressView没有';更新进度,ios,swift3,Ios,Swift3,我写了下面的代码来更新progressView,但它只在完成循环并显示100%完成时在屏幕上反映。有什么问题吗 @IBOutlet weak var progressView: UIProgressView! var totalCount = 100 var count = 0 for (_ in 0...100) { DispatchQueue.main.async(execute: { () -> Void in self.progressView.progr
@IBOutlet weak var progressView: UIProgressView!
var totalCount = 100
var count = 0
for (_ in 0...100) {
DispatchQueue.main.async(execute: { () -> Void in
self.progressView.progress = Float(count) / Float(totalCount)
})
print("%: \(Float(count) / Float(totalCount))")
count += 1
}
您的代码没有执行任何操作,因此它几乎可以在短时间内执行 如果您将progressView更新有效地设置为100%,并且没有延迟,您将看不到它。请检查:
class ViewController: UIViewController {
@IBOutlet weak var progressView: UIProgressView!
var progressBarTimer:Timer!
var totalCount = 100
var count = 0
override func viewDidLoad() {
super.viewDidLoad()
self.progressBarTimer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.updateProgressBar), userInfo: nil, repeats: true)
}
func updateProgressBar(){
let progress = Float(count) / Float(totalCount)
self.progressView.progress = progress
print("%: \(progress)")
if progress == 1.0 {
progressBarTimer.invalidate()
}
count += 1
}
}