[XCode 8、Swift 3] 我通过将 ObservedProgress 属性设置为 Progress 对象的实例来使用 UIProgressView,即:
progressView.observedProgress = myProgress
myProgress.totalUnitCount 最初为 0,UIProgressView 正确显示 0%。 UIProgressView 还可以完美地跟踪 myProgress 值的变化。但是,在相关任务完成后,我想将 UIProgressView 重置为 0%。我希望这能完成这项工作:
myProgress.totalUnitCount = 0
myProgress.completedUnitCount = 0
但这不起作用,进度条继续显示 100%。即使 myProgress.fractionCompleted 返回 0.0!我可以通过这样做强制进度条返回到 0%:
progressView.progress = 0.0
但是,这需要直接访问 View ,并且在某种程度上破坏了观察 Progress 对象的美感。
我在 Progress 对象上找不到任何重置概念。我错过了什么?
最佳答案
来自@Sweeper,这似乎有效:
myProgress.totalUnitCount = 10
myProgress.completedUnitCount = 0
myProgress.totalUnitCount = 0
从表面上看,我不喜欢 Sweeper 的解决方案,因为它使 Progress 对象处于不准确的状态。但是,设置 TotalUnitCount 两次似乎确实有效,进度条必须获得两次更新,因为它显示 0%,然后对于进一步更新来说是准确的。我认为 0/0 应该显示 0%,即这是 UIProgressView 中的一个错误。不管怎样,谢谢扫地者!
关于ios - 使用observedProgress时如何将UIProgressView重置为0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48484336/