我正在尝试从数据库异步加载图像后更新表格 View 单元格的高度。 用例是: 当单元格可见时获取图像。所以我必须在单元格中调用 `loadImageWith(callBack: () -> ()) 。 当我收到回调时,我想用图像更新特定单元格。 对于图像,没有占位符等。因此,如果没有可用图像,则单元格为空。
我已尝试调用
self.tableView.beginUpdates()
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade)
self.tableView.endUpdates()
在回调中就像在其他线程中描述的那样,但显然这会导致无限循环。
我也尝试调用cell.needsLayout
或/和cell.layoutIfNeeded
将图像添加到 ImageView 后。
对行没有影响。
我没有使用任何第三方库,因为我需要从本地数据库而不是服务器获取图像数据。
如果我在 viewDidLoad 中加载所有图像并调用
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade)
然后它就可以工作,但要求是仅加载可见单元格。
希望任何人都能解决这个问题。
最佳答案
您可以将图片上传后单元格的高度设置为
self.tableView.beginUpdates()
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade)
let selectedCell = tableView.cellForRow(at: indexPath)
selectedCell.height = yourHeight
self.tableView.endUpdates()
关于ios - 从数据库获取图像后更新像元高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42034806/