ProgressBar没有在ViewController中移动

问题描述 投票:0回答:1

我对这个进度条问题感到绝望。

以下代码将测试ProgressBar更新。

但是View仅显示进度= 0的冻结条

这里有什么问题?

除了在主队列上调度之外,UIProgressView还能工作吗?

这是我的代码:

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)
            }
        }
    }
}
swift progress-bar grand-central-dispatch uiprogressview
1个回答
0
投票

您可以调整设置进度的计算。它总是更好用

setProgress: animated:

我改变了你的代码,似乎工作。

代码片段:

        DispatchQueue.main.async {
              var i = 0
              while i < 10 {
                   self.progressBarOutlet.setProgress(Float(i), animated: true)
                  i += 1
              }
        }
© www.soinside.com 2019 - 2024. All rights reserved.