tableHeaderView 使用 autoLayout

tableHeaderView 使用 autoLayout_第1张图片
D55A1156-C903-438E-9537-D86F0CDB9610.png

如上图所示的界面,UIlabel 的文字事动态的,红色线以上的view是tableview的headerView(不是sectionHeader),如果每次都根据文字手动计算文字高度,在更改headerview的高度的话,好想很麻烦,也不是特别准确,网上找了好久都没有找到这方面的方法,于是自己反复尝试,最终实现了tableHeaderView的autoLayout。步骤如下:

1、首先xib拖了一view

tableHeaderView 使用 autoLayout_第2张图片
E4607519-D87D-4F8E-8B6F-E85E08B5B5F1.png

将上下左右的约束设置好,就和cell的self sizing 那样

2、代码里面添加headerView

///初始化header
 let header = Bundle.main.loadNibNamed("QYMineHomeHeaderView", owner: nil, options: nil)?[0] as? QYMineHomeHeaderView
///给tableview添加header
mineHomeTableView.tableHeaderView = header!
///设置top和width的约束 header?.snp.makeConstraints({ (make) in
     make.top.equalTo(0)
     make.width.equalTo(screen_w)
 })
///更新约束 
mineHomeTableView.layoutIfNeeded()

以上就是给tableview的tableHeaderview 设置 autolayout的全过程,分享给大家,apple的autoLayout真的很方便,省去了大量的计算高度的过程,大家一定要多多使用!

你可能感兴趣的:(tableHeaderView 使用 autoLayout)