如何在只有 1 行时调整 UITableView 的大小
How To have UITableView Resize when only 1 row
我有一个带边框的 UITableView
,它有一个带有多行标签的原型单元格。 table 可能只有一行,具体取决于数据。细胞本身的一切似乎都工作正常。
挑战在于,当没有足够的数据行来填充 table 时,我的边界远远超出了数据。我在 Table View
上确实有一个底部约束,这我知道为什么它比单行大。
我想不通的是如何更改对 table 视图的限制,使其仅与显示的数据一样大。
下面是我得到的屏幕截图。我想要的是边框仅围绕显示的数据行。当然,如果 table 有多行使其大于其所在页面底部的可用 space,我确实需要它滚动等。任何建议将不胜感激。
是的,我已经通过打开行分隔符并验证超过 1
显示来确认单元格没有占据整个宽度。我还确认 table 视图中的部分数设置为 1
并且 numberOfRowsInSection
函数返回值 1
。
对于你的情况,我只能想到3种解决方案。第一个是手动预先计算 table 视图的大小,例如 Min(yourAvailableHeight, heightOfRow*numberOfRows + topMargin + bottomMargin)
。或者您可以删除底部边框本身,只将其放在最后一个单元格中。
或者您可以使用
CGRect frame = self.tableView.frame;
frame.size.height = self.tableView.contentSize.height;
self.tableView.frame = frame;
我有一个带边框的 UITableView
,它有一个带有多行标签的原型单元格。 table 可能只有一行,具体取决于数据。细胞本身的一切似乎都工作正常。
挑战在于,当没有足够的数据行来填充 table 时,我的边界远远超出了数据。我在 Table View
上确实有一个底部约束,这我知道为什么它比单行大。
我想不通的是如何更改对 table 视图的限制,使其仅与显示的数据一样大。
下面是我得到的屏幕截图。我想要的是边框仅围绕显示的数据行。当然,如果 table 有多行使其大于其所在页面底部的可用 space,我确实需要它滚动等。任何建议将不胜感激。
是的,我已经通过打开行分隔符并验证超过 1
显示来确认单元格没有占据整个宽度。我还确认 table 视图中的部分数设置为 1
并且 numberOfRowsInSection
函数返回值 1
。
对于你的情况,我只能想到3种解决方案。第一个是手动预先计算 table 视图的大小,例如 Min(yourAvailableHeight, heightOfRow*numberOfRows + topMargin + bottomMargin)
。或者您可以删除底部边框本身,只将其放在最后一个单元格中。
或者您可以使用
CGRect frame = self.tableView.frame;
frame.size.height = self.tableView.contentSize.height;
self.tableView.frame = frame;