如何只在一行

时间:2015-05-17 03:34:37

标签: ios uitableview swift autosize

我有一个带有边框的UITableView,其中有一个带有多行标签的原型单元格。该表可能只有一行,具体取决于数据。关于细胞本身的一切似乎都很好。

挑战在于,当没有足够的数据行来填充表格时,我的边界远远超出了数据。我对Table View有一个底部约束,我知道为什么它比单行更大。

我无法弄清楚的是如何更改表视图上的约束,使其仅与显示的数据一样大。

以下是我所获得的屏幕截图。我想要的是边框只围绕显示的数据行。当然,如果表有多行,使其大于页面底部的可用空间,我确实需要它滚动等。任何建议都将非常感谢。

是的,我已经通过打开行分隔符并验证超过1显示来确认单元格没有占据整个宽度。我还确认表格视图中的部分数量设置为1,并且1函数中返回的值为numberOfRowsInSection

enter image description here

1 个答案:

答案 0 :(得分:0)

我只能为您的情况考虑3种解决方案。第一个是手动预先计算表格视图的大小,如Min(yourAvailableHeight, heightOfRow*numberOfRows + topMargin + bottomMargin)。或者你可以删除底部边框本身,只将它放在最后一个单元格中。

或者您可以使用

CGRect frame = self.tableView.frame;
frame.size.height = self.tableView.contentSize.height;
self.tableView.frame = frame;