2017-07-16 4 views
0

私はストーリーボードでUIProgressviewを持っており、ストーリーボードで高さの制約を設定しています。UIProgressViewの進行状況を設定するときに望ましくない高さの制約が発生する

私の問題、私はそれの進捗状況を設定していたとき、私は(私は、複数のプログレスバーのためにところでテーブルビューのセルを使用しています) cell.progressBar.setProgress(22, animated: true) を呼び出す場に出 と予想されるとして、それはバーを埋めるが、それはまた、アニメーション化高さの制約があるので、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

Plsは実際のコードを表示します。メインスレッドにあなたのUI操作を追加していますか? –

+0

@BadhanGaneshスレッドの問題だとは思わないが、cellforRowのコードはこちら –

+0

@BadhanGaneshそれはスレッドの問題だった.Dのおかげで助けてくれた –

答えて

0

感謝を助けている場合。 ここで私はそれを修正しました。おそらくそれは閉鎖か何かであるためです。誰でもこの作品。

UIView.animate(withDuration: 1.0, animations: { 

     DispatchQueue.main.async { 
      cell.progressBar.setProgress((Int(25))%, animated: true) 
     } 
    }) 
関連する問題