0

tableView在情节提要中设置了一个部分和页脚。我正在尝试使用以下代码更改表格footerView中的文本viewDidLoad()

tableView.footerView(forSection: 0)?.textLabel?.text = "Testing text"

tableView.footerView(forSection: 0) == nil

然后在用户点击按钮时,我调用使用相同代码更改 footerView 文本的函数,它运行良好。

func changeFooterText() {
    tableView.footerView(forSection: 0)?.textLabel?.text = "Testing text after tap"
}

为什么footerView不存在viewDidLoad以及如何更改它的文本viewDidLoad?还是我应该在其他地方改变它?加载屏幕时,我需要在页脚中添加取决于屏幕上其他数据的文本。

期待阅读您的善意建议。

4

2 回答 2

1

您可以使用表格页脚视图方法:

override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? 
于 2018-09-06T18:34:36.310 回答
0

“viewDidLoad”在视图生命周期中太早了。UITableView 还没有构建它的组件。

可能可以将代码移至“viewDidAppear”,但最好以与构建其他单元格相同的方式构建页脚和页眉。dequeueReusableHeaderFooterViewWithIdentifier委托方法就是为了这个。

于 2018-09-06T18:41:59.733 回答