2017-07-16 65 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) 
     } 
    })