在Storyboard中为UITableView添加Header和Footer
我在这里所说的Header和Footer并不是sectionHeader
和sectionFooter
,而是指UITableView
的tableHeaderView
和tableFooterView
,这两个可以跟随tableView
滑动的头部和尾部.
使用代码添加:
首先需要用代码(或者使用xib)创建一个继承自UIView
的headerView
或者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
如果希望tableHeaderView
和tableFooterView
根据内容自适应高度,则需要用到-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哦.
在Storyboard中为UITableView添加Header和Footer的更多相关文章
- 怎样在UICollectionView中添加Header和footer
---恢复内容开始--- 怎样在UICollectionView中添加Header和footer 转载于http://my.oschina.net/zboy/blog/221525 摘要 来自-htt ...
- ## GridView 布局:item设置的高度和宽度不起作用、自动适配列数、添加Header和Footer ##
一.item设置的高度和宽度不起作用 转自:http://www.cnblogs.com/0616--ataozhijia/p/6031875.html [Android Pro] listView和 ...
- RecyclerView添加Header和Footer
使用过RecyclerView的同学就知道它并没有添加header和footer的方法,而ListView和GirdView都有,但是开发过程中难免有需求需要添加一个自定义的header或者foote ...
- 你必须了解的RecyclerView的五大开源项目-解决上拉加载、下拉刷新和添加Header、Footer等问题
前段时间做项目由于采用的MD设计,所以必须要使用RecyclerView全面代替ListView.但是开发中遇到了需要实现RecyclerView上拉加载.下拉刷新和添加Header以及Footer等 ...
- StroyBoard中UICollectionView中添加Header和footer
到Storyboard中,选择collection view controller中的"Collection View".在Attributes inspector中,选择&quo ...
- Storyboard中使用UIscrollView添加约束的开发总结
第一次在项目中用storyboard做界面,一般的界面直接添加约束非常爽快 然后有个界面有scrollview,添加了约束还总是出错 刚开始使用了 wCompact,hRegular,滑动出现问题,有 ...
- 在storyboard中给控制器添加导航栏控制器和标签控制器
1.选中目标控制器 2.选择xcode的工具栏中的"Editor"->"Embed in"->"Navigation Controller ...
- iOS中 xib自定义View在storyboard中的使用
1,创建UIView 的SubClass 命名为MyView 2, new一个名为MyView的xib p1 3,配置xib的属性 p2 4,为View 添加背景色,添加一个按钮并定制按钮约束,这里我 ...
- java swagger ui 添加header请求头参数
我用到的swagger 主要有三款产品,swagger editor,swagger ui 和swagger codegen. swagger editor:主要是一个本地客户端,用来自己添加api, ...
随机推荐
- Java入门(4)——常见的String方法
考虑到API当中的解释,新手可能有点看不懂(我刚开始就是不太看得懂).最好的学习方法当然是是自己一个一个去试一遍,然后就可以加深印象. 然后, 这是我当初学习的时候用自己的大白话做的笔记.现在查阅的话 ...
- python汉字输出编码问题
python中文输出乱码问题困扰了多少初学者,我在这方面栽了不知道多少跟头.现在我把我碰到的问题和解决的方法写出来与大家分享一下: 1输出乱码 所谓的乱码是指“鎴戞槸涓枃瀛楃涓”这样的内容.为什么 ...
- vue.js基础知识篇(7):表单校验详解
目录 网盘 第12章:表单校验 1.npm安装vue-validator $ npm install vue-validator 代码示例: var Vue=require("vue&quo ...
- STM32经典概述(干货 )
STM32经典概述(干货 ) 首先,在学习Cortex-M3时,我们必须要知道必要的缩略语. 在网上看的,觉得挺好的,分享过来了 整理如下: AMBA:先进单片机总线架构 ADK:AMBA设计套 ...
- [2015-11-10]分享一个调用msbuild生成解决方案并打包发布的批处理脚本
最近工作成果之一,特此记录. 用于打包的批处理脚本 注意设置 path/to/your/solutionfile.sln 指向vs的解决方案文件. setlocal enabledelayedexpa ...
- Flink从Kafka 0.8中读取多个Topic时的问题
Flink提供了FlinkKafkaConsumer08,使用Kafka的High-level接口,从Kafka中读取指定Topic的数据,如果要从多个Topic读取数据,可以如下操作: 1.appl ...
- jmeter系列-------注意事项
1.自己创建的数据自己擅长,不要留垃圾数据 2.每个接口都需要增加断言,保证脚本的结果的正确性 3.相同的应用放在一个简单控制器下,所有的应用尽量放在一个线程组下面,将特殊场景单独抽离成一个线程组 4 ...
- C#:委托(delegate)和事件(event) (转)
委托(delegate): 它是C#语言里面的函数指针,代表可以指向某一个函数,在运行的时候调用这个函数的实现.下面来看看它的实现步骤: 声明一个delegate对象. 实现和delegate具有相同 ...
- js封装成插件-------Canvas统计图插件编写
之前就说过,我想写一个canvas画统计图的插件,现在写好了 先说下实现的功能吧: 1.可以通过自定义X轴坐标属性和Y轴坐标属性按比例画出统计图 2.可以选择画折现图还是柱形统计图,或者两者都实现 3 ...
- JVM(二)JVM内存布局
这几天我再次阅读了<深入理解Java虚拟机>之第二章"Java内存区域与内存溢出异常",同时也参考了一些网上的资料,现在把自己的一些认识和体会记录一下. (本文为博主 ...