【问题标题】:UITableview view reload animation issueUITableview 视图重新加载动画问题
【发布时间】:2018-08-31 16:48:11
【问题描述】:

请查看 UITableview 中动画问题的视频。当我从 API 获取数据并刷新单元格时,比第一个单元格展开时的动画问题。

我使用下面的代码进行重载。

self.tblSpDirectoryView.reloadRows(at: [IndexPath(row: 3, section: 0)], with: .none)

我也尝试过为此提供解决方案。

self.tblSpDirectoryView.beginUpdates()
                    self.tblSpDirectoryView.reloadRows(at: [IndexPath(row: 3, section: 0)], with: .none)
                    self.tblSpDirectoryView.endUpdates()

在上述所有代码之前,我只使用了重新加载。

self.tblSpDirectoryView.reloadData()

这对我没有帮助。我有分享视频文件以供理解please find video file here.

【问题讨论】:

  • 删除 begin 和 endUpdates 之间的 self.tblSpDirectoryView.reloadRows(at: [IndexPath(row: 3, section: 0)], with: .none)
  • 您是否以编程方式计算单元格高度?
  • 是的,但我尝试将扩展设置为 140,扩展设置为 500。但同样的问题。你有什么解决办法吗?

标签: ios uitableview swift3 uiviewanimation


【解决方案1】:

尝试添加:

self.tableView.beginUpdates()
self.tableView.endUpdates()

您还可以尝试计算所有单元格的高度。 并将它们传递给方法tableView(_:heightForRowAt:)

See my answer

【讨论】:

    【解决方案2】:

    您的第一个代码对于您正在使用 swift 3 的重新加载部分是正确的,请尝试此代码
    let indexPath = IndexPath(item: row, section: 0) tableView.reloadRows(at: [indexPath], with: .fade)

    动画没有正确发生,如果您的表格视图是静态的,请检查情节提要和表格视图高度委托方法中的高度,如果您使用的是 xib,也请检查。如果不同于情节提要和代码中的它会像这样反映。

    【讨论】:

      猜你喜欢
      • 2012-08-01
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多