【问题标题】:Updating Cell Height after Fetching an Image from the Database从数据库中获取图像后更新像元高度
【发布时间】:2017-02-03 23:48:26
【问题描述】:

在从数据库异步加载图像后,我正在尝试更新我的 tableview 单元格的高度。 用例是: 当单元格可见时获取图像。所以我必须在它自己的单元格中调用`loadImageWith(callBack: () -> ())。 当我收到回调时,我想用图像更新特定的单元格。 对于图像,没有占位符等。因此,如果没有可用的图像,则单元格为空。

我已尝试致电
self.tableView.beginUpdates() self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade) self.tableView.endUpdates()
在回调中,就像在其他线程中描述的那样,但显然这会导致无限循环。 在将图像添加到图像视图后,我还尝试调用cell.needsLayout 或/和cell.layoutIfNeeded。 对行没有影响。

我没有使用任何第三方库,因为我需要从本地数据库而不是服务器获取图像数据。

如果我在 viewDidLoad 中加载所有图像并调用
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade)
那么它可以工作,但要求只加载可见单元格。

希望大家有解决这个问题的办法。

【问题讨论】:

    标签: ios swift uitableview tableviewcell


    【解决方案1】:

    图片上传后的单元格高度可以设置为

    self.tableView.beginUpdates()
     self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade)
    let selectedCell = tableView.cellForRow(at: indexPath) 
    selectedCell.height = yourHeight
    self.tableView.endUpdates()
    

    【讨论】:

      猜你喜欢
      • 2020-11-01
      • 2021-04-21
      • 1970-01-01
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-04
      • 2014-05-24
      相关资源
      最近更新 更多