【发布时间】: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 个标签、一个按钮和一个进度视图的常规视图控制器,并进入我的表视图控制器?
-
或者作为一个容器视图,其中表视图作为子视图?
-
以表格视图控制器为子的自定义父视图控制器是获得表格视图控制器优势的标准方法,同时包括表格视图之外的其他接口。另一方面,“表格视图控制器的好处”不是很大;没有法律规定您不能将标签、按钮和表格视图全部由 普通 视图控制器控制。
-
好的,太好了,谢谢马特!