带有图像视图的 UITableViewAutomaticDimension

UITableViewAutomaticDimension with imageview

我有一个包含自定义单元格的表格视图。自定义单元格有一个图像视图和一个标签。我想根据标签中的文本调整单元格的大小,因为 imageview 尺寸是恒定的。图像视图占据了居中的大部分单元格,标签位于其下方。

self->tableView.rowHeight = UITableViewAutomaticDimension;

我正在使用这行代码来这样做,并且我还在情节提要上设置了约束。当代码运行时,图像不会显示,只有标签和单元格甚至不会根据文本调整大小。当我将视图设置为默认高度时,两者都会显示。我不确定为什么这不起作用。我唯一的想法是我的约束不正确。我已经成功地将它与 2 个标签一起使用,但没有使用 imageview。任何帮助,将不胜感激。我会展示一张关于我的限制的照片,但由于我的身份,我不能。

如果您的 tableViewCell 有这样的布局,请按如下所示设置约束。

您还需要设置 tableView 的 estimatedRowHeight。

 self.tableView.estimatedRowHeight = 200;
 self.tableView.rowHeight = UITableViewAutomaticDimension;

如果设置并设置标签 noOflines = 0,请移除高度限制表单标签。这将对您有所帮助。

让你设置如下

-将 numberOfLines 标记为 0

-不要为标签设置高度

-在label和cell contentView之间的底部约束中,将其设置为大于或等于例如5

然后调用下面的方法

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}