作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道我是否很好地理解了 completedUnitCount 和 totalUnitCount,我将向您描述我的问题。
进度条声明:
@IBOutlet weak var progressBar: UIProgressView!
let progress = Progress(totalUnitCount: 5)
@IBAction func btnDownload(_ sender: Any) {
print("button download pressed")
let realm = try! Realm()
for id in cardsetIds {
for cardset in cardsets {
if id == cardset.id && cardset.cards != "0" {
let newSet = CardsetTable()
newSet.cards = cardset.cards
newSet.size = cardset.size
newSet.title = cardset.title
newSet.id = cardset.id
try? realm.write { realm.add(newSet) }
btnDownload.isHidden = true
progressBar.isHidden = false
progress.completedUnitCount += 1
let progressFloat = Float(self.progress.fractionCompleted)
self.progressBar.setProgress(progressFloat, animated: true)
}
}
}
if progress.completedUnitCount == progress.totalUnitCount {
self.dismiss(animated: true, completion: nil)
}
}
最佳答案
因为进度条会为更改设置动画,所以在您调用后到达进度条的末尾需要一些时间
self.progressBar.setProgress(progressFloat, animated: true)
if progress.completedUnitCount >= progress.totalUnitCount {
delay(0.3) { // delay to let progress bar to complete the animation
self.dismiss(animated: true, completion: nil)
}
}
/// Delays given callback invocation
///
/// - Parameters:
/// - delay: the delay in seconds
/// - callback: the callback to invoke after 'delay' seconds
func delay(_ delay: TimeInterval, callback: @escaping ()->()) {
let delay = delay * Double(NSEC_PER_SEC)
let popTime = DispatchTime.now() + Double(Int64(delay)) / Double(NSEC_PER_SEC);
DispatchQueue.main.asyncAfter(deadline: popTime, execute: {
callback()
})
}
关于ios - Swift 进度条 completedUnitCount 和 totalUnitCount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59963360/
我不知道我是否很好地理解了 completedUnitCount 和 totalUnitCount,我将向您描述我的问题。 进度条声明: @IBOutlet weak var progressBar:
我是一名优秀的程序员,十分优秀!