【发布时间】:2019-05-23 13:13:39
【问题描述】:
我正在尝试在UITableViewController“TBVC1”中为我的 tableview 实现一个 tableViewHeader(而不是“viewForHeaderInSection”)。
我尝试了两种解决方案(当然不行……):
1ST:在我的故事板中的UITableViewController 顶部添加了一个 UIView。如果我在这个UIView 中添加一个UILabel(带有约束等),并尝试显示我的View TBVC1 .... 我什么也看不到。完整的视图是空的。但是,如果我删除插入到标题UIView 中的 UILabel,我可以看到我所有的单元格和 headerView 背景颜色...
你知道为什么我不能在这个UIView 中放置任何 UI 组件吗?
2ND:如果我尝试像这样加载特定的笔尖UIView:
Bundle.main.loadNibNamed("Title", owner: nil, options: nil)!.first as! UIView
self.tableView.setTableHeaderView(headerView: customView)
self.tableView.updateHeaderViewFrame()
extension UITableView {
/// Set table header view & add Auto layout.
func setTableHeaderView(headerView: UIView) {
headerView.translatesAutoresizingMaskIntoConstraints = false
// Set first.
self.tableHeaderView = headerView
// Then setup AutoLayout.
headerView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
headerView.widthAnchor.constraint(equalTo: self.widthAnchor).isActive = true
headerView.topAnchor.constraint(equalTo: self.topAnchor).isActive = true
}
/// Update header view's frame.
func updateHeaderViewFrame() {
guard let headerView = self.tableHeaderView else { return }
// Update the size of the header based on its internal content.
headerView.layoutIfNeeded()
// ***Trigger table view to know that header should be updated.
let header = self.tableHeaderView
self.tableHeaderView = header
}
}
它也不起作用...我的完整视图是空的...
你有什么想法为什么我没有成功在我的UIView 中为tableViewheader 显示一个简单的UILabel?
【问题讨论】:
标签: ios swift uitableview