0

我使用动态高度表视图单元格和 Haneke 使用以下代码下载和缓存图像:

override func viewDidLoad() {
    super.viewDidLoad()
    myTableView.rowHeight = UITableViewAutomaticDimension
    myTableView.estimatedRowHeight = 500
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell:ImageCellTableViewCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ImageCellTableViewCell;

    cell.myImageView.hnk_setImage(from: URL(string: imageUrl), placeholder: nil)
    return cell
}

这里我需要在下载后设置图像时调整单元格高度。下载图像后如何调整表格视图单元格的大小。

4

3 回答 3

1

打电话

tableView.beginUpdates() tableView.endUpdates()

下载图像并设置高度约束后。希望这可以帮助!

编辑:

另一种选择是为单元格提供正确的高度,即从服务器接收图像大小。这样你就可以用刚刚计算出的单元格高度来喂表。

于 2017-10-03T09:20:27.587 回答
1

只需为您的图像添加适当的约束,例如,使用纵横比约束的顶部和左侧约束。(您甚至可以在情节提要界面中执行此操作)

于 2017-10-03T09:09:02.477 回答
-2

设置表格视图的行高,如:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell:ImageCellTableViewCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ImageCellTableViewCell;

    cell.myImageView.hnk_setImage(from: URL(string: imageUrl), placeholder: nil)
    tableView.rowHeight = cell.myImageView.frame.origin.y + cell.myImageView.frame.size.height + (constant what every you want to give like: - 20/30 as per your need)

    return cell
}
于 2017-10-03T09:17:49.393 回答