我刚试过下面的代码行,但是我的工作不正常。我想知道如何以编程方式为页眉或页脚提供此案例,可能正在使用autolayout我不确切知道哪一个解决了我的问题。我正在使用UITableViewHeaderFooterView的xib文件。
如果有人解释我会很棒。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
// Dynamic sizing for the footer view
if let footerView = tableView.tableFooterView {
let height = footerView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height
var footerFrame = footerView.frame
if height != footerFrame.size.height {
footerFrame.size.height = height
footerView.frame = footerFrame
tableView.tableFooterView = footerView
}
}
}
答案 0 :(得分:3)
UITableView在显示之前计算HeaderFooter,如果不再次调用reloadData(),则无法更新该高度。
您是否尝试在这些HeaderFooterViews上使用AutoLayout? 我将使用正确的约束从xib设置视图,然后:
self.tableView.estimatedSectionHeaderHeight = 100
self.tableView.sectionHeaderHeight = UITableViewAutomaticDimension