Visual_Novel_iOS/crush/Crush/Src/Utils/Extensions/UITableViewExt.swift

39 lines
1.1 KiB
Swift
Executable File

//
// UITableView+Ext.swift
// DouYinSwift5
//
// Created by lym on 2021/6/8.
// Copyright © 2021 lym. All rights reserved.
//
import UIKit
extension UITableView {
/// Set table header view & add Auto layout.
func setTableHeaderView(headerView: UIView) {
headerView.translatesAutoresizingMaskIntoConstraints = false
// Set first.
tableHeaderView = headerView
// Then setup AutoLayout.
headerView.centerXAnchor.constraint(equalTo: centerXAnchor).isActive = true
headerView.widthAnchor.constraint(equalTo: widthAnchor).isActive = true
headerView.topAnchor.constraint(equalTo: topAnchor).isActive = true
updateHeaderViewFrame()
}
/// Update header view's frame.
func updateHeaderViewFrame() {
guard let headerView = 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 = tableHeaderView
tableHeaderView = header
}
}