首页 技术 正文
技术 2022年11月18日
0 收藏 953 点赞 3,488 浏览 1446 个字

我在这里所说的Header和Footer并不是sectionHeadersectionFooter,而是指UITableViewtableHeaderViewtableFooterView,这两个可以跟随tableView滑动的头部和尾部.

使用代码添加:

首先需要用代码(或者使用xib)创建一个继承自UIViewheaderView或者footerView,然后使用下列代码给tableView增加头部和尾部.

self.tableView.tableHeaderView = headerView;self.tableView.tableHeaderView = footerView;

但是这种方法相对来说比较麻烦,在Storyboard可以很轻松的完成这个任务.

在Storyboard中添加:

添加的方法非常简单,直接拖就OK了,并且能直接在headerView和footerView中使用AutoLayout给子控件布局.

添加到UITableViewCell上面的就是headerView,下面的就是footerView,如果没有给UITableView添加Cell的话,拖到UITableView里面默认是headerView,所以如果需要添加尾部,确保有至少一个Cell就OK了.

修改tableHeaderView和tableFooterView的高度:

自适应高度的Header和Footer

如果希望tableHeaderViewtableFooterView根据内容自适应高度,则需要用到-systemLayoutSizeFittingSize:这个方法来实现.
实现自适应高度的前提,约束要完整,要保证View内部上下左右所有方向都有约束支撑.例如下图的一个例子:

写好了约束后,在-viewDidLayoutSubviews中添加如下代码:

- (void)viewDidLayoutSubviews {    [super viewDidLayoutSubviews];    //利用systemLayoutSizeFittingSize:计算出真实高度    CGFloat height = [self.tableView.tableHeaderView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;    CGRect headerFrame = self.tableView.tableHeaderView.frame;    headerFrame.size.height = height;    //修改tableHeaderView的frame    self.tableView.tableHeaderView.frame = headerFrame;}

这样就能实现高度自适应啦~~~

举个例子:

给Label增加大段文本,并且修改numberOfLines为0,运行后的效果:

大功告成!

原文链接:http://jerrytian.com/2016/03/05/在Storyboard中为UITableView添加Header和Footer/

Tips

    • 使用这个方法可以很方便的在Storyboard中调整Group样式的UITableView的顶部留白高度.
    • UITableViewController或者UIViewController+UITableView的组合都一样适用,但是后者要记得给UITableView添加一个Cell才能添加footerView哦.
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,401
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896