ios - 使用observedProgress时如何将UIProgressView重置为0

标签 ios swift 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 返回 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/

相关文章:

iphone - 如何制作根据contentSize用点来完成文本的UITextView?

ios - 一个应用程序中的多个 mapView

ios - 方法确实在父 View Controller 中调用,但方法内部的逻辑从不执行任何操作

ios - 如何制作没有圆角的 UIProgressView 标准矩形?

iPhone - 带进度条的启动画面

javascript - 带有土耳其语文本的 HTML 未显示在 UIWebview 中

ios - Swift webview xcode 发布数据

ios - 在 UIButton 中显示事件指示器

ios - Unity-iOS:尚未配置默认Firebase应用

ios - 如何将 Firebase 下载文件与进度 View 链接?