[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


但是,这需要直接访问视图,并且在某种程度上破坏了观察Progress对象的美感。

我无法在Progress对象上找到任何重置概念。我想念什么?

最佳答案

在@Sweeper中,这似乎有效:

myProgress.totalUnitCount = 10
myProgress.completedUnitCount = 0
myProgress.totalUnitCount = 0


我不喜欢Sweeper的解决方案,因为它使Progress对象处于不准确的状态。但是,将totalUnitCount设置两次似乎确实可行,进度条必须同时获得两个更新,因为它显示为0%,然后对于后续更新是准确的。我认为0/0应该显示0%,即这是UIProgressView中的错误。无论如何,感谢Sweeper!

关于ios - 使用observedProgress时如何将UIProgressView重置为0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48484336/

10-10 21:48