实时更新自定义表节标题视图内容



我的自定义tableView标题有问题,即我无法实时更新表格部分内容。

这是演示我的问题的示例代码:

//SomeViewController.swift
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if let infoHeaderView = InfoHeaderView.viewFromNib as? InfoHeaderView {
infoHeaderView.update(with: someContent)
updateMethod = { newContent in
infoHeaderView.update(with: newContent)
}
}
}
...
updateMethod(someContent)
...

//InfoHeaderView.swift
func update(with content: Content) {
someLabel.text = content.textProperty
}

注意:我想在不重新加载表或单个部分的情况下实现这一点。我只想更新自定义表部分视图中的单个标签。

我希望在 updateMethod 调用时更改标签文本,但这不会发生。可能是什么问题?

编辑:

当我将部分标题滚动到顶部并让它向下时,它运行良好。

使用要更改标题的部分的索引,如下所示:

if let headerView = self.tableView.headerView(forSection: <section number>) as? InfoHeaderView {
headerView.update(with: content)
}

但可能要使此方法起作用,您的标题视图的类型应该是UITableViewHeaderFooterView的子类

最新更新