UITableView之(六):HeaderView和FooterView
来源:互联网 发布:崖山之后无华夏 知乎 编辑:程序博客网 时间:2024/06/06 07:02
UITableView提供了tableHeaderView、tableFooterView、 viewForFooterInSection、viewForHeaderInSection来为表格设置样式,它们的用法略有区别。
tableHeaderView和tableFooterView的用法相同:
1、可以为任何style的tableView设置,并且头和尾只有各一个
2、创建需要显示的view,自定义需要的显示样式
3、tableView的tableHeaderView、tableFooterView直接指向创建的view
4、设置view的frame来获取高度
注意:
tableHeaderView和tableFooterView的宽度即为tableView的宽度,自定义的view的宽度是不能改变的,所以特殊样式就需要以此为背景,在此背景view上进行设置。
viewForFooterInSection和viewForHeaderInSection的用法相同:
1、只能设置在style为UITableViewStyleGrouped的tableview中,并且每个section都有一对头尾view
2、创建的view有两种方式,一种是自定义view显示在需要的地方(每个section都显示或显示在特定的section)
3、需要用到tableView的代理方法,在此代理方法中进行设置和指向
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ return nil;}- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ UIView *view = [[UIView alloc] init]; view.backgroundColor = [UIColor redColor]; return view;}
4、viewForFooterInSection和viewForHeaderInSection的高度也可以通过tableView的代理方法设置
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ }- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ }
还可以通过tableView的如下属性进行设置:
@property (nonatomic) CGFloat sectionHeaderHeight; @property (nonatomic) CGFloat sectionFooterHeight;
小技巧:
有时候需要设置tableView的style为UITableViewStyleGrouped,但是每个section之间的距离都是通过如上的属性默认设置的,这个距离太大并不是我们需要的,所以可以通过设置这两个属性来缩短section的距离:
self.tableView.sectionFooterHeight = 0.1; self.tableView.sectionHeaderHeight = 0.1;
同时,tableView的头部距离navigationItem的距离也很大,默认距离20,可以通过如下设置来缩小距离:
self.tableView.contentInset = UIEdgeInsetsMake(-20, 0, 0, 0);
viewForFooterInSection和viewForHeaderInSection的第二种创建方式:
和自定义的tableViewCell类似,也可以自定义section的headerView和footerView,类型和用法为:
// 注册 [tableView registerClass:nil forHeaderFooterViewReuseIdentifier:nil]; [tableView registerClass:nil forHeaderFooterViewReuseIdentifier:nil]; // 使用 [tableView dequeueReusableHeaderFooterViewWithIdentifier:nil]; // 创建 UITableViewHeaderFooterView *view = [[UITableViewHeaderFooterView alloc] <span style="font-family:KaiTi_GB2312;"> </span>initWithReuseIdentifier:nil];
- UITableView之(六):HeaderView和FooterView
- 关于UITableView的headerView和footerView
- UITableView HeaderView和FooterView的悬浮(粘性)解决方法
- 改变UITableView的headerView、footerView背景颜色
- 改变UITableView的headerView、footerView背景颜色
- 改变UITableView的headerView、footerView背景颜色
- 改变UITableView的headerView、footerView背景颜色
- ios UITableView 滑动 headerView footerView 跟随问题
- 改变UITableView的headerView、footerView背景颜色
- ListView开发笔记之添加HeaderView和FooterView
- RecyclerView添加HeaderView和FooterView
- RecyclerView添加HeaderView和FooterView
- RecyclerView添加HeaderView和FooterView
- RecyclerView 添加headerView 和 footerView
- ListView的headerView和footerView
- UITableView在Plain类型下,HeaderView和FooterView不悬浮和不停留的方法
- 如果去掉UITableView上的section的headerView和footerView的悬浮效果
- UITableView去掉headerView和footerView的粘性,随tableview滚动(有瑕疵)
- GOROOT、GOPATH、GOBIN、project目录
- C语言printf()的用法
- java虚拟机对代码的处理方式
- Swift语法10.可选类型
- 26. 27. Remove Duplicates from Sorted Array
- UITableView之(六):HeaderView和FooterView
- Android MPush开源消息推送系统:简洁、安全、支持集群
- 三行代码实现白天夜间模式流畅切换的实现库
- 轻量级锁的用途
- SPI总线
- [UI]自定义View--雷达图
- java I/O流FileInputStream和FileReader使用及乱码问题
- 使用Markdown编辑器写博客
- Docker-Windows 2008 R2安装使用