如何根据标签内容调整表格视图单元格的大小

时间:2015-11-02 20:49:34

标签: swift height tableview cell

我正在寻找答案,但我没有运气。我要做的是调整表格视图单元格的高度。我正在使用带有图片的自定义单元格,带有一些文本的标签以及单元格底部的两个按钮。

标签中的文字非常动态,所以我需要调整单元格高度。我已经尝试了我在这里阅读的内容,例如:theLabelToAdjust.sizeThatFits但它不起作用。我不知道还能做什么。

我也尝试过使用heightForRowAtIndexPath返回类似UIAutoRedimension的东西(类似的东西),它不起作用。

我的自定义单元格的IBOutlets文件位于另一个快速文件UItableViewCell类中。

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您需要将标签约束设置为受到所有方面的约束。然后在你的viewDidLoad ..

self.table.estimatedRowHeight = 50 // Always do slightly more than the average row height
self.tableView.rowHeight = UITableViewAutomaticDimension

然后在你的cellForRowAtIndexPath中为你的单元格创建一个对象......

let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CellViewController 

确保为您的单元格创建一个类(在本例中为CellViewController),并将单元格的标识符设置为故事板中的某个内容,并像上面那样调用它。

最后在你的cellForRowAtIndexPath ...

cell.label.numberOfLines = 0 // "Label" is the outlet for the label I created in the CellViewController

答案 1 :(得分:0)

您需要正确设置约束,因此标签上有顶部和底部约束。您还需要将标签行数设置为0.另外,当您设置自动尺寸时,您应该给它一个估计的行高,例如:

self.tableView.estimatedRowHeight = 50
self.tableView.rowHeight = UITableViewAutomaticDimension