Swift 中的表视图页脚

Posted

技术标签:

【中文标题】Swift 中的表视图页脚【英文标题】:Table View Footer in Swift 【发布时间】:2017-02-25 19:41:37 【问题描述】:

我正在尝试使用 Swift 在表格视图中创建页脚。始终位于屏幕底部的单个页脚。我设置了一个名为 TableViewFooter.swift 的 .swift 文件,该文件创建了一个名为 TableViewFooter 的类,它是 UITableViewHeaderFooterView 的子类。 TableViewFooter 有 2 个标签、一个按钮和一个进度视图。在我的 TableViewController 中,我输入了代码:

let nib = UINib(nibName: "TableViewFooter", bundle: nil)
tableView.registerNib(nib, forHeaderFooterViewReuseIdentifier: "TableViewFooter")

override func tableView(tableView: UITableView, viewForHeaderInSection     section: Int) -> UIView? 
let currSection = fetchedResultsController.sections?[section]
let title = currSection!.name

let cell = self.tableView.dequeueReusableHeaderFooterViewWithIdentifier("TableViewFooter")
let header = cell as! TableViewFooter
header.titleLabel.text = title

return cell

tableView.registerNib 行后出现“预期声明”错误,let currSection 行后出现“使用未解析标识符 'fetchedResultsController'”错误,之后出现“使用未解析标识符 'header'”错误header.titleLabel.text 行。我是新手,但我使用的是 Swift 文件,而不是笔尖,所以我不应该放别的东西吗?我发现的唯一教程是使用 nibs 或神秘的 Apple 参考。任何帮助将不胜感激!

【问题讨论】:

"一个始终位于屏幕底部的页脚。"那将不是表格视图页脚。表格视图页脚随表格行滚动。如果您想要“始终位于屏幕底部”的内容,请将其放在 表格视图的下方。 啊,好的。那么设置一个包含 2 个标签、一个按钮和一个进度视图的常规视图控制器,并进入我的表视图控制器? 或者作为一个容器视图,其中表视图作为子视图? 以表格视图控制器为子的自定义父视图控制器是获得表格视图控制器优势的标准方法,同时包括表格视图之外的其他接口。另一方面,“表格视图控制器的好处”不是很大;没有法律规定您不能将标签、按钮和表格视图全部由 普通 视图控制器控制。 好的,太好了,谢谢马特! 【参考方案1】:

听起来你想要两件事之一:

一个 UITableView 页脚。这是 UIScrollView 底部的视图,这意味着它仅在您滚动到表格底部时显示。您可以通过访问您的视图控制器中的 UITableView 的 tableViewFooter 属性来修改它,我假设它是您的委托和数据源。

或者,始终保留在屏幕底部的视图。这不是表格视图页脚,而是您将添加到视图控制器主视图的视图。为此,请在视图底部添加一个自定义 UIView,确保它不会与您的表格视图重叠(否则,用户将无法到达底部单元格),并确保滚动视图表格视图的属性足够大,可以包含其所有单元格。

【讨论】:

是的,我想要第二个。谢谢! 没问题!在不重叠 tableView 的情况下获得这样的视图可能会很棘手。我会关闭这个问题,试一试,当你碰到下一个墙时回来,可以问一个更具体的问题。祝你好运!

以上是关于Swift 中的表视图页脚的主要内容,如果未能解决你的问题,请参考以下文章

表格视图部分 Swift3 的页脚中的按钮

在所有应用程序界面swift2中保持底部视图(如页脚)[关闭]

swift中UICollectionview的自定义页脚视图

Swift 中的表视图提交编辑样式

MKLocalSearch 到 Swift 中的表视图

无法将数组名称传递到 Swift 3 中的表视图中