如何在 Swift 中使用 SVProgressHUD 显示下载进度?我已经实现了以下代码,但它没有显示进度。
SVProgressHUD.show()
Alamofire.download(
url,
method: .get,
parameters: nil,
encoding: JSONEncoding.default,
headers: nil,
to: destination).downloadProgress(closure: { (progress) in
DispatchQueue.main.async {
SVProgressHUD.showProgress(Float(progress.fractionCompleted))
}
print(progress.fractionCompleted)
}).response(completionHandler: { (DefaultDownloadResponse) in
DispatchQueue.main.async {
SVProgressHUD.dismiss()
}
})
这个问题已经 2 个月了,但我会把它放在这里,因为它可能会帮助某人。如果有人遇到SVProgressHUD不显示进度的问题,请检查您的进度增量。它应该介于 0 和 1 之间(因此最小可能的进度为 0,最大值为 1(,否则,显示的图像将是一个完整的圆圈,给人的印象是进度没有变化。
解决方法是在进度达到 100% 0r 1.0 时关闭 SVGProgress。
另请查看 https://github.com/SVProgressHUD/SVProgressHUD/issues/622?以获取更多见解。