1

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

self->tableView.rowHeight = UITableViewAutomaticDimension;

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

4

3 回答 3

0

让你设置以下

-label numberOfLines 为 0

- 不要为标签设置高度

-在标签和单元格内容视图之间的底部约束中,将其设置为大于或等于例如5

然后调用下面的方法

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

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}
于 2016-01-25T06:36:56.763 回答
0

如果你的 tableViewCell 有这样的布局,那么设置你的约束,如下所示。

您还需要设置 tableView 的estimatedRowHeight。

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

您的图像限制

您标签的限制

于 2016-01-25T06:25:59.003 回答
0

如果设置并设置标签 noOflines = 0,则删除高度约束表单标签。它会对您有所帮助。

于 2016-01-25T06:26:28.207 回答