Swift - 如何动态固定 UITableViewHeaderFooterView 的高度大小?
Swift - How dynamically fixed UITableViewHeaderFooterView height size?
我刚刚尝试了以下代码行,但无法正常工作。我想知道如何以编程方式为页眉或页脚提供这种情况,可能正在使用自动布局我不知道到底是哪一个解决了我的问题。我正在使用 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
}
}
}
UITableView 在显示之前会计算 HeaderFooter,如果不再次调用 reloadData() 就无法更新该高度。
您是否尝试过在这些 HeaderFooterView 上使用 AutoLayout?
我会使用正确的约束设置来自 xib 的视图,然后:
self.tableView.estimatedSectionHeaderHeight = 100
self.tableView.sectionHeaderHeight = UITableViewAutomaticDimension
我刚刚尝试了以下代码行,但无法正常工作。我想知道如何以编程方式为页眉或页脚提供这种情况,可能正在使用自动布局我不知道到底是哪一个解决了我的问题。我正在使用 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
}
}
}
UITableView 在显示之前会计算 HeaderFooter,如果不再次调用 reloadData() 就无法更新该高度。
您是否尝试过在这些 HeaderFooterView 上使用 AutoLayout? 我会使用正确的约束设置来自 xib 的视图,然后:
self.tableView.estimatedSectionHeaderHeight = 100
self.tableView.sectionHeaderHeight = UITableViewAutomaticDimension