sectionHeaderView使用中遇到的坑

晚上在家写代码的时候,突然忘了该如何下笔,过去一直没记清楚怎么写,后来好在今天决心记住他,然后几个随笔


其实这样的图,真是喜闻乐见,很简单,过去习惯了用tableview的plain,这次突然用group了还是有点忘了。

sectionHeaderView使用中遇到的坑_第1张图片

这个还过去还是有点小不同,首先,setionHeaderView 的时候,我们自己封装了一个SectionView

其实就是调用了两个方法

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

return 50;

}

注释:sectionView_1代表的sectiongView,1,2,3,代表着间隙

如果上遍的函数不好使,可以在代码中在多添加一个self.tableview.sectionViewHeigth = 50,我刚才测试了,没有问题,有些小朋友说会有问题,我给大家解释一下可能的原因,;self.tableview.sectionViewHeigth这个是图中如果sectionView_1不显示,你设置这个属性了,那么他一定显示,而且他组的间距调用的是代理方法

```

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

return10;

}

```


这个是组底部的高度,如果我的项目中,没有写这句话,那么23的间距很大,当时还有点蒙圈,不知道怎么回事,后来觉得应该设置一下foot高度,才焕然大悟。如果你是grouped类型,没有实现这个代理方法,那么默认会给你一个高度

如果淡出的按照这个写完,理论上1是一直没有间距的,他是仅仅挨着headerView的,所以为了解决这个问题,就要去设置tableview.tableHeaderView.heigth比table和爱的人View 多十个像素就好,也就是说1本身没有,是在tableHeaderView 设置的,23其实是组底部的间距,和sectionHeader没有关系

看图~

sectionHeaderView使用中遇到的坑_第2张图片

必须说明一下,如果是group类型的话,sectionHeader如果滑动到了顶部,不会停止,会一直走下去,如果说是plain类型,就是停留在屏幕顶部.这个是区别


为什么会疑惑,平时一直用tableview.plain类型,最后用个sectionString,就是给组头设置个名字,啥的,偶尔会封装,再给个高度就好(用代理给组头设置一个高度),但是不用设置组footer,所以group得情况下,不设置footer.height 的时候,系统会自动给以,所以看着很恶心,如果你的项目中确实不用组尾巴,那就返回一个0.01就行了~(就会变成sectionHeader不悬空的样式了~)

你可能感兴趣的:(sectionHeaderView使用中遇到的坑)