美文网首页
UITableView 的 tableHeaderView坑

UITableView 的 tableHeaderView坑

作者: 爆炸的白菜君 | 来源:发表于2017-12-05 15:48 被阅读15次

在使用Xib写一个tableView的tableHeaderView的时候,遇到一个坑,而且这个坑在6Plus上面不显示,在5s和8上面就会出来。
具体的样子就是tableHeaderView的高度被压缩,然后在Xib里面的约束被报奇怪的错误。
具体的结局办法是:
将Xib外面套一层UIView

懒加载一个header

fileprivate lazy var header:OrderSettleHeader? = {
        
        let hed = Bundle.main.loadNibNamed(OrderSettleHeaderId, owner: nil, options: nil)?.last as? OrderSettleHeader
        
        hed?.frame = CGRect(x: 0, y: 0, width: ScreenWidth, height: 170.0)
        
        return hed
        
    }()

TableView的基本配置

private func configerTableView() {
        
        tableView.register(UINib(nibName: OrderSettleCellId, bundle: nil), forCellReuseIdentifier: OrderSettleCellId)
        
        tableView.delegate = self
        
        tableView.dataSource = self
        
        let headerContainer = UIView.init(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: 170.0))
        
        guard let header = header else {
            return
        }
        
        headerContainer.addSubview(header)
        
        tableView.tableHeaderView = headerContainer
        
        header.financialSettlement = model
        
    }

手敲一个headerContainer,代码设置frame,然后将Xib的header添加到这个headerContainer上面。最终将 tableView 的 tableHeaderView 设置成这个headerContainer

完美解决!

相关文章

网友评论

      本文标题:UITableView 的 tableHeaderView坑

      本文链接:https://www.haomeiwen.com/subject/zfscixtx.html