tableHeaderView 使用 autoLayout

D55A1156-C903-438E-9537-D86F0CDB9610.png

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

1、首先xib拖了一view

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真的很方便,省去了大量的计算高度的过程,大家一定要多多使用!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权声明:未经本人允许,禁止转载. 1. TableView初始化 1.UITableView有两种风格:UITa...
    萧雪痕阅读 7,901评论 2 10
  • 项目里的布局一直都是纯代码流,顺带着Autolayout也一直没有使用,直到遇到了masonry,让我看到了希望,...
    小笨狼阅读 13,052评论 25 128
  • 1.AutoLayout是什么? 在Auto Layout之前,不论是在IB里拖放,还是在代码中写,每个UIVie...
    Saxon_Geoffrey阅读 4,505评论 1 4
  • 20170813晴周末 非常顺利的到达扬州,扬州的大巴好长,空气好新鲜,就连阳光都是温温和和,一点也感受不到夏天的...
    三月小女子阅读 2,958评论 1 0
  • I have never livestreamed,but I have watched a few livest...
    lililily9阅读 2,593评论 0 0