使用 observedProgress 时如何将 UIProgressView 重置为 0
How to reset UIProgressView to 0 when using observedProgress
[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 returns 0.0!我可以通过这样做强制进度条 return 到 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 中的错误。不管怎样,谢谢扫地主!
[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 returns 0.0!我可以通过这样做强制进度条 return 到 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 中的错误。不管怎样,谢谢扫地主!