设置UIProgressView进度

时间:2017-07-16 17:01:30

标签: ios swift animation storyboard uiprogressview

所以我在故事板中有一个UIProgressview,我通过故事板设置了高度限制,这是我所期望的高度,所有这些都是阳光和彩虹。

当我设定它的进度时,我的问题开始发挥,我打电话 cell.progressBar.setProgress(22, animated: true) (我正在使用tableview cell btw进行多个进度条) 并且它按预期填充了条但它也动画了高度约束,因此它从9的高度变为25的高度或我设置的任何高度。  我不想要这种行为。

另外值得一提的是,当我有其他单元格中有进度条并且我只需要设置1时,其他进度条不会设置其高度限制的动画,它们只是有一个正确高度的空条(我是什么)期望)。

我想要注意的是,我正在设置cellForRowAtIndexPath中每个单元格(可变数量的单元格)的进度,所以我不确定为什么设置进度动画高度约束而不设置进度高度约束已经像我想要的那样固定。我确实想要填充动画,而不需要对高度约束进行动画处理。

非常感谢任何帮助。

行的单元格代码(如果有帮助)

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
    let cell = tableView.dequeueReusableCell(withIdentifier: "basic_result_cell", for: indexPath) as! BasicResultCell

    UIView.animate(withDuration: 1.0, animations: {

        cell.progressBar.setProgress((Int(25))%, animated: true)
    })

    return cell

}

1 个答案:

答案 0 :(得分:0)

感谢Badhan指出它可能是一个线程问题。  这是我采取的措施。可能是因为它是关闭或什么的。任何这个有效。

   UIView.animate(withDuration: 1.0, animations: {

       DispatchQueue.main.async {
           cell.progressBar.setProgress((Int(25))%, animated: true)
       }
   })