1

这听起来像是一个奇怪的问题,因为显然viewForHeaderInSection在 iOS 中使用表格时总是有可用的方法。

但是,要使用该功能,需要重新加载该表的数据,在这种情况下,我想避免这种情况。

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

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

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

我已经检查了我所指的部分是否正确,检查了苹果文档和谷歌/so,并且无法找到任何关于以我想要的方式访问部分标题的参考。有办法吗?

4

1 回答 1

2

如果headerview不在屏幕上(不可见),则无法访问它。

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

您也不需要在viewForHeaderInSection此示例中使用。

故事板中的标题视图

于 2016-01-23T18:06:25.710 回答