文档章节

分组类型UITableView的sectionHeader高度设置

在人间2018
 在人间2018
发布于 2016/05/16 14:29
字数 325
阅读 2513
收藏 0

    UITableView大家都非常熟悉,对于设置sectionHeader和sectionFooter的高度,系统给了两种方法:

    方法一:通过设置UITableView的属性sectionHeaderHeight和sectionFooterHeight来设置,该方法将所有section的header或者footer高度设置为同一个值;

    方法二:通过UITableViewDelegate提供的方法来设置:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;

这两种方法可以根据不同的indexPath设置不同的高度;

    一直以来都以为上面的两种方法在设置同样的高度时作用都是一样的,今天发现,并不是一样的,不知道苹果是出于什么考虑。具体不同如下:

    当UITableView样式为UITableViewStyleGrouped的时候,利用方法二设置的时候,一切都是想要的样子,tableHeaderView和tableFooterView的高度都是0,每一个section(header和footer)高度都是正确的;但是使用方法一设置的时候,发现第一个section的sectionHeaderHeight和最后一个section的sectionFooterHeight都为0,其他的高度都是正确的。经过验证,发现这两个异常的高度可以通过单独再设置tableHeaderView和tableFooterView的高度来达到效果。

    具体原因不太清楚,如有发现,欢迎评论告知。

© 著作权归作者所有

共有 人打赏支持
在人间2018
粉丝 1
博文 20
码字总数 6009
作品 0
海淀
程序员
iOS UITableView代理方法详解

iOS UITableView的代理方法详解 一、补充 在上一篇博客中,http://my.oschina.net/u/2340880/blog/404605,我将IOS中tableView(表视图)的一些常用方法总结了一下,这篇将tableView的代理方法...

珲少
2015/04/22
0
2
关于UITableView你知道多少——UITableView简单解析

转自萧宸宇的博客 UITableView是在iOS开发中,展示大量内容的首选。我个人认为的原因有以下几点: 1.UITableView的展现形式是为移动设备专门设计过的。有较好的人机交互体验。 2.从技术角度来...

浪子艾菲儿
2013/08/07
0
0
UITableView的优化原理

当我们下啦一个 UITableView时,如果没有做优化,只是简单的实现功能代码如下,这样当我们有上百条tableviewcell的时候,我们滑动的非常快时会非常费内存,当然苹果公司不会让我们这样干,苹...

哥特复心
2013/11/29
0
3
UITableView 基本使用方法总结

首先,Controller需要实现两个 delegate ,分别是 UITableViewDelegate 和 UITableViewDataSource 2.然后 UITableView对象的 delegate要设置为 self。 3. 然后就可以实现这些delegate的一些方...

悠哉悠哉e
2012/11/13
0
0
UI_09 UITableView(表视图)

⼀、表视图 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView。UITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳 1、表示图的样式 UITableViewStylePlain UITa...

黑伞将军
2015/08/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker run 创建一个新的容器并运行一个命令

docker run常用命令 docker run :创建一个新的容器并运行一个命令 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 1.OPTIONS说明 -t:为容器重新分配一个伪输入终端,通常与 -i 同时使...

lwenhao
18分钟前
1
0
安装Win出现无法创建新的分区也找不到现有的分区解决方案

无法创建新的分区也找不到现有的分区 ### 首先在安装界面按下 Shift+F10### 在出现的CMD界面输入: diskpart 进入磁盘管理工具diskpart### 可以输入 : list disk 查看磁盘列表l...

Kxvz
21分钟前
1
0
关于 @ngrx/Store 下 obj 的扩展问题

昨天做 task 的时候,遇到了一个问题。 TypeError: can't define property "x": "obj" is not extensible 而我的代码是 public txTiles: Array<TransactionFilterTile>; constructor(priv......

IrisHuang
22分钟前
1
0
presto内存管理及调优

内存池 Presto有三种内存池,分别为GENERAL_POOL、RESERVED_POOL、SYSTEM_POOL。这三个内存池占用的内存大小是由下面算法进行分配的: builder.put(RESERVED_POOL, new MemoryPool(RESERVED...

张欢19933
23分钟前
1
0
Mysql5.7服务版安装

步骤1: 勾选同意协议 步骤2:选择Server only模式 步骤3:选择安装目录 步骤4:执行文件 步骤5:端口号与用户配置 步骤6:选择标准系统用户 Finish后,安装完成。...

lyle_luo
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部