2017-07-16 60 views
0

所以我在故事板中有一个UIProgressview,我通过故事板设置了高度限制,它是我期望的高度,所有与此相关的事物都是阳光和彩虹。设置UIProgressView进度时不需要的高度限制动画

我的问题进场时,我设置了它的进步,我叫 cell.progressBar.setProgress(22, animated: true) (我用的tableview细胞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 

} 
+0

请向我们显示您的实际代码。你是否在主线程中添加了你的UI操作? –

+0

@BadhanGanesh我不认为这是一个线程问题,但这里是我的代码cellforRow –

+0

@BadhanGanesh原来这是一个线程问题:D感谢您的帮助 –

回答

0

感谢Badhan指点这可能是一个线程的问题。 这是我所做的修复它。可能是因为它是封闭的东西。任何人都可以工作。

UIView.animate(withDuration: 1.0, animations: { 

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