调用progressTintColor不会更新介于0.01和0.05之间的UIProgressview进度

时间:2017-05-20 04:39:51

标签: ios uiprogressview

我正在尝试根据服务器数据更新进度条。因此,如果收到的值(以%为单位)小于90,则进度条应为绿色,否则应为红色。

LeveledCompaction

上述代码工作正常,范围0.01 - 0.05除外。此范围之间的任何值始终仅显示0.05的进度。 如果我注释掉更新颜色的代码,那么它似乎工作正常。

我正在更新主线程上的所有内容。此外,我观察到从viewDidLoad和viewWillAppear调用此方法不会影响进度。

同样的问题发布在下面的链接 - UIProgressView doesn't update <=0.5 value after Changing ProgressTintColor

但是,它还没有回答。

任何帮助解决此问题的人都将不胜感激。

1 个答案:

答案 0 :(得分:0)

试试这个

 DispatchQueue.main.async {
     if (value >= 90) {
        progressBar.progressTintColor = UIColor.redColor()
     } else 
     { 
        progressBar.progressTintColor = UIColor.greenColor()
     }
     progressBar.setProgress(value, animated : true)
    }