文档章节

UITableView+UITableViewStyleGrouped 处理section之间间隙

一转身的vv
 一转身的vv
发布于 2016/07/14 15:52
字数 333
阅读 58
收藏 0
[[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStyleGrouped]

这样初始化的tableview的样式是这样的:如下:

style设置为UITableViewStyleGrouped时header和footer不会悬浮在视图上,设置为UITableViewStylePlain就会悬浮。

然后我设置了每个section的高:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if(section==0){
//让第一个不显示
        return 0.1;}
    return 30;
}

-(UIView* )tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    if (section==0) {
        return nil;
    }
    UILabel *lb=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
    lb.text=[NSString stringWithFormat:@"%ld",section];
    lb.backgroundColor=[UIColor greenColor];
    return lb;
}


红框的区域是多出来的,我把header的高设置为30,header上的View高也是30;

但是会多出来,那片就是footer的区域,把他的高设置为0.1就行了(设置为0不行)

//header的高
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if(section==0){
        return 0.1;}
    return 30;
}
//footer的高 必须在这设置footer的高不然tableview的尾部会多出一块
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    if (section==9) {
        return 0.1;
    }
    return 0.1;
}
//header的View
-(UIView* )tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    if (section==0) {
        return nil;
    }
    UILabel *lb=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
    lb.text=[NSString stringWithFormat:@"%ld",section];
    lb.backgroundColor=[UIColor greenColor];
    return lb;
}

或者在初始化tableview时加一句


//高设置为0.1可以;设置为0不行
self.tableview.tableFooterView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 0, 0.1)];

 

 

 

© 著作权归作者所有

一转身的vv
粉丝 1
博文 14
码字总数 4192
作品 0
朝阳
程序员
私信 提问
MySQL InnoDB 锁——官方文档

个人认为学习MySQL最好的书面材料莫过于官方文档了,它不仅详细介绍了方方面面的使用方法,还讲解了原理,让你知其然并且知其所以然。这里就把官网的InnoDB Locking这一小节翻译过来,抛砖引...

MageekChiu
2018/03/29
0
0
在InnoDB中使用INSERT IGNORE来避免自动递增的漏洞

(本文为OSChina原创翻译,如需转载,请注明出处) 你是否是在MySQL v5.1.22或是更新的版本中使用InnoDB表呢?如果是这样的话,你可能会发现在自动递增的列之间存在着间隙。INSERT IGNORE查询...

zztf
2011/12/03
1K
0
InnoDB中的锁

InnoDB 中的锁 本文翻译自mysql5.6官方文档:InnoDB Locking 本文介绍InnoDB包含的锁的种类: 共享锁(Shared Lock)和 排他锁(Exclusive Lock) 意向锁(Intention Locks) Record Locks Gap Lo...

Gen_zhou
2016/07/21
170
0
CSS 技巧篇(六):display设置元素为行内元素时,元素之间存在间隙问题

问题 在使用display将元素设置为行内元素的同时(例如:inline、inline-block等),将margin全部设置为0,padding全部设置为0的时候,我发现了元素之间居然还存在着间隙!!!???如下图所示...

Madman0621
02/25
0
0
line元素img出现默认间隙用vertical-align解决

父级设置了line-height,内联元素img也受影响;因为它本身属性有宽高,故可正常显示图片;但是在图片下方会出现一个间隙。如下所示: 是由于该元素默认垂直对齐方式为以父元素的baseline,但...

dqy95
2017/11/01
3
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部