Я пытаюсь реализовать tableViewHeader (а не "viewForHeaderInSection") для моего табличного представления в UITableViewController
"TBVC1".
Я попробовал два решения (не работают, конечно ...):
1ST: Добавлен UIView в верхней части моего UITableViewController
в моей раскадровке. Если я добавлю UILabel
(с ограничениями и т. Д.) В этот UIView
и попытаюсь отобразить мой View TBVC1 .... Я ничего не вижу. Полный вид пуст. Но, если я удаляю UILabel, вставленную в заголовок UIView
, я вижу все мои ячейки и цвет фона headerView ...
У вас есть идея, почему я не могу поместить какой-либо компонент пользовательского интерфейса в этот UIView
?
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
}
}
это тоже не работает ... мой полный просмотр пуст ...
У вас есть идеи, почему мне не удается отобразить простое UILabel
в моем UIView
для tableViewheader
?