【问题标题】:Unwanted height constraint animates when setting UIProgressView progress设置 UIProgressView 进度时不需要的高度约束动画
【发布时间】:2017-12-21 05:19:59
【问题描述】:

所以我在情节提要中有一个 UIProgressview,我通过情节提要设置了高度约束,这是我期望的高度,所有的东西都是阳光和彩虹。

当我设置进度时,我的问题就出现了,我打电话给 cell.progressBar.setProgress(22, animated: true) (顺便说一句,我将 tableview 单元格用于多个进度条) 并且它按预期填充了条形图,但它也对高度约束进行了动画处理,因此它从 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

}

【问题讨论】:

  • 请向我们展示您的实际代码。您是否在主线程中添加您的 ui 操作?
  • @BadhanGanesh 我认为这不是线程问题,但这是我的 cellforRow 代码
  • @BadhanGanesh 原来是线程问题:D 感谢您的帮助
  • 太酷了! (y)

标签: ios swift animation storyboard uiprogressview


【解决方案1】:

感谢 Badhan 指出这可能是线程问题。 这是我为解决它所做的。可能是因为它是一个关闭或什么的。任何人都可以。

   UIView.animate(withDuration: 1.0, animations: {

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

【讨论】:

    猜你喜欢
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多