我有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
中的文本?还是应该在其他地方更改它?加载屏幕后,我需要在页脚中添加文本,具体取决于屏幕上的其他数据。
期待阅读您的善意建议。
答案 0 :(得分:1)
您可以使用表格页脚视图方法:
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?
答案 1 :(得分:0)
“ viewDidLoad”在视图生命周期中为时过早。 UITableView尚未构建其组件。
您可能 可以将代码移至“ viewDidAppear”,但是最好以与构建其他单元格相同的方式构建页脚和页眉。 dequeueReusableHeaderFooterViewWithIdentifier委托方法就是为此目的。