首页 > 解决方案 > UITableView 在初始加载时未正确绘制单元格 - Swift

问题描述

我有一个 nib 文件中的表格视图,它可以正确加载数据。它加载所需数量的单元格并正确填写数据。该单元格也是一个包含多个视图的 xib 文件。每个单元格都有一个自定义高度。我设法使用以下方法设置每个单元格的正确高度:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return (data[indexPath.row].height + 200)
}

问题是在初始加载时,单元格没有像这样正确绘制: Initial load image

描述区域不会移动到我通过更改其 X 和 Y 坐标使其移动的位置。

但是,当我将表格视图滚动到最初加载的单元格之外并返回到它们时,这会得到修复,如下所示: 滚动后

加载单元格后,我将描述区域移动到图像下方。这适用于单元格,但不适用于最初加载的单元格。只有当我将损坏的单元格滚动到视野之外并返回它们时,它才会得到修复。我该如何解决?我怎样才能使单元格在初始加载时正确绘制?

编辑:澄清:单元格正确加载但未正确绘制。我必须滚动出前几个单元格并滚动回它们才能正确绘制单元格。

任何帮助表示赞赏。谢谢!

标签: iosswiftuitableview

解决方案


I can see that the image you'r trying to load is of larger dimension than that of the image container view. You can try giving clipsToBound = True to the imageView.

This would most probably resolve your issue. Thanks.


推荐阅读