使单元格粘在表格视图的底部

Posted

技术标签:

【中文标题】使单元格粘在表格视图的底部【英文标题】:Make cell stick to the bottom of a tableview 【发布时间】:2018-02-16 19:49:26 【问题描述】:

您好,我想弄清楚如何将 tableview 上的最后一个单元格/部分粘贴到底部屏幕。这是截图。

我正在尝试将创建帐户放在底部。我试过使用 tableview 页脚,但这就是我得到的。

我怎么能把那个红色的视图放在最底部。我知道我可以只使用视图控制器并拖动表格视图控制器并将按钮放在底部。但是我想学习如何使用 tableview 控制器来做到这一点。非常感谢任何帮助:)

这是我在 viewDidLoad 中使用的表格视图页脚代码。这会在创建帐户的底部创建红色视图。

let footerView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40))
    footerView.backgroundColor = .red
    tableView.tableFooterView = footerView

【问题讨论】:

为什么要把它做成一个单元格?尝试使用页脚 我做到了,我得到了红色视图。我想让红色视图显示在底部 是的,我同意@user9335240!您可以使用页脚视图!这将坚持到 Tableview 的底部! @LuisRamirez 请分享您为页脚视图所做的代码! @SachinDobariya 好的,我已经添加了用于获取红色视图的代码。 【参考方案1】:

好的,我知道问题所在了。

当您分配UITableView.tableFooterView 时,它会将其置于所有单元格的末尾。它没有固定到表格的底部。

因为UITableViewControllertableview 之外没有父view,所以无法向tableview 添加一个不会同时覆盖其他单元格的视图。

例如,您可以以编程方式创建UIView,添加约束,然后将其添加为tableview 的子视图 - 如果表视图更改其中的行数,这可能会出现未定义的行为。 即使它有效,它也可能会在您滚动时覆盖单元格。

除非有一些外部限制,否则我建议您使用正确的工具来完成这项工作 - 创建一个 UIViewController 并在其下方放置一个 UITableView 和您的红色视图。

【讨论】:

【参考方案2】:

在您的表格视图下方的情节提要上添加您的按钮。在您的情况下,没有理由将它放在 tableview 单元格中

【讨论】:

【参考方案3】:

您可能会使用一个小技巧:如您所知,标题会粘在表格视图的顶部。您可以做的是通过应用比例变换水平镜像表格视图及其内容,就像这样

tableView.transform = CGAffineTransform(scaleX: 1, y: -1)

另外,在你的cellForRowAt

cell.transform = CGAffineTransform(scaleX: 1, y: -1)

viewForHeaderInSection

headerView.transform = CGAffineTransform(scaleX: 1, y: -1)

只需将您的 Create Button 设为节标题并应用转换即可。

或者,您可以简单地将该按钮作为子视图添加到底部的表格视图中,并提供一个空视图作为部分页脚视图,高度等于按钮的高度。

【讨论】:

以上是关于使单元格粘在表格视图的底部的主要内容,如果未能解决你的问题,请参考以下文章

如何更改分组的表格视图单元格的背景?

表格视图仅滚动到文本字段底部边缘

设置表格视图单元格的高度以匹配底部到标签栏顶部

iOS动态地将新单元格加载到表格视图的底部

我们如何快速在表格视图底部添加展开和折叠单元格

表格视图单元格的快速底部边框消失