如何获取 tableView 部分 header

how to get tableView section header

这听起来像是一个奇怪的问题,因为显然在 iOS.

中使用 table 时总是有 viewForHeaderInSection 方法可用

但是,要使用该函数,需要重新加载该函数的数据 table,在这种情况下,我希望避免这种情况。

我的 UITableViewSectionHeader 中有一个按钮,我想在我的应用程序的某个点禁用它 - 再次 - 而不必重新加载 table 查看数据。 我试着用这段代码来做到这一点:

let currentTable = self.playerTables![i] as! UITableView
let header = currentTable.headerViewForSection(0)! as UITableViewHeaderFooterView!
let view = header.contentView as UIView
view.userInteractionEnabled = false

我的应用程序在 运行 这段代码时崩溃,因为在加载 contentView 时 header 为 nil。当我调用 currentTable.headerViewForSection(0)! 代码时它会初始化,但在下一行再次为 nil。

我已经检查了我所指的部分是否正确,检查了 apple 文档和 google/so,但未能找到有关访问 header 部分的任何参考我想要的方式。 有办法吗?

如果 headerview 不在屏幕上(不可见),您将无法触及它。

也许故事板可以帮到你。将 UIView 拖入 tableview。这将是您的 headerview,您可以将控件直接连接到 UIViewController 并访问它们。

此外,对于此示例,您不需要使用 viewForHeaderInSection