动态表格视图高度

时间:2015-08-20 15:38:22

标签: ios uitableview

enter image description here

这个想法是根据几个控制高度自动调整单元格的高度。如上图所示,我有顶部标签底部标签。这两个标签可以根据文本长度具有不同的高度。

关于故事板中设置的几句话。

我为2个描述的标签设置了行数为0,以允许根据给定的文本动态增长其高度。

对于热门标签,我有下一个限制:

enter image description here

对于底部标签,我有下一个约束:

enter image description here

所以我说的是1000绿色标签和底部标签之间的垂直间距,每次都是相同的:

enter image description here

但如果没有这个间距,则不会拉伸高度。如何减少垂直间距?因为顶部标签因文字高而有“1000绿色标签”和底部标签之间有很多间距。

在我设置的-viewDidLoad方法中:

[self.theTableView setEstimatedRowHeight:145];
[self.theTableView setRowHeight:UITableViewAutomaticDimension];

似乎它的工作非常酷,有时会出现这里描述的错误,但我不知道如何限制垂直间距:

http://www.appcoda.com/self-sizing-cells/

1 个答案:

答案 0 :(得分:1)

将底部标签的顶部约束设置为> = 11.5(或其最小间距应为)。

这将让单元格调整垂直间距,具体取决于单元格中的其他内容。

<强>更新

在iOS 9中,UIStackView可以更简单地处理这个问题。

水平堆栈视图将约束(并基于此确定单元格高度)两个内部垂直堆栈视图。左侧垂直堆栈将处理图像,横幅和标签布局,右侧垂直堆栈将处理顶部标签,10000和底部标签布局。您只需要4个约束(水平stackView将其约束到contentView)。