在设置 UITableView 的 style 为 .grouped 类型的时候,发现第一个 cell 的顶部存在大段的间距,而改为 .plain 类型则没有这个间距,效果如下:

设置了 contentInset 和 heightForHeader 为 0.01 都无效,最后发现是

tableView.tableFooterView = UIView()

的书写位置有问题,只要调整代码的顺序就可以了,如下:

调整后再看效果就正常了:

对应代理中 heightForHeader 和 heightForFooter 的设置如下:

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return
} func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return
}

【参考】UITableViewStyleGrouped模式下烦人的多余间距

UITableView .grouped 类型去除顶部间距的更多相关文章

  1. 去除inline-block间距

    去除inline-block间距 通过display:inline-block设置元素为水平时,相邻元素之间会有几px的间距: html: <ul class="list"& ...

  2. 1016-06-首页20-封装工具条---UITableView控件距离顶部的间距问题----cell选中时的背景颜色设置

    一.设置UITableView里面的顶部 cell 距离顶部的间距的三种方式: 方法 1. 直接设置: self.tableView.contentInset = UIEdgeInsetsMake(H ...

  3. UITableView grouped样式使用探索

    UITableView的style有plain和grouped两种样式,两种样式各有不同的风格和功能,plain样式已经封装好了悬停功能,gouped样式则为我们在区头和区尾在实际项目开发中需要我们选 ...

  4. 《Android学习笔记》Android Studio如何去除顶部标题栏教程

    序] 在初步开发Android应用中,我们会遇到一个问题,顶部标题栏的名字是项目名字(app名字)并且不可编辑.非常的不方便,那么我们有什么办法把他去掉呢? [相关文章] [开发工具] Android ...

  5. ListView去除顶部和底部边缘阴影(亲测4.4及以前的版本都适用)

    ListView滑动到顶部和底部时出现的阴影消除方法:android2.3以前用android:fadingEdge="none"android2.3以后用android:over ...

  6. WPF 窗口去除顶部边框(正宗无边框)

    最近在做一个大屏展示视频图片的项目,功能并不复杂,半天的工作量吧,一开始同事采用的Unity3D进行开发,但是里面要播放4K视频,Unity 的短板就是视频的播放了,今晚就要交付了,我一早就来公司,决 ...

  7. iOS - UITableView reloadData滚动到顶部无效问题解决

    //tableView:动态cell的高度不固定,滑动不到最顶部 //if (self.sensorDate.count > 0) { // [self.tableView scrollToRo ...

  8. uitableView group模式下的间距问题

    我么在使用group模式定义tableview的时候,系统默认是会有head和foot的间距的,来区分我们不同的group:在具体使用的时候又时候我们不需要这个间距.我们可以重新赋值这些间距来达到我们 ...

  9. 设置UITableView分割线距左边的间距

    ``` [self.tableView setSeparatorInset:UIEdgeInsetsZero]; [self.tableView setLayoutMargins:UIEdgeInse ...

随机推荐

  1. 撤销 git merge

    由于太多人问怎么撤销 merge 了,于是 git 官方出了这份教程,表示在 git 现有的思想体系下怎么达到撤销 merge 的目标. 方法一,reset 到 merge 前的版本,然后再重做接下来 ...

  2. vue之指令篇 ps简单的对比angular

    这两天在开始vue的大型项目,发现和ng还是有许多不同,这里对比下两者的指令系统 难度系数:ng的指令难度大于vue:至少vue上暂时没发现@&=:require,compile,precom ...

  3. “Hello World!”团队第六周的第一次会议

    今天是我们团队“Hello World!”团队第六周召开的第一次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.Todo List 六.会议照片 七.燃尽图 一.会议时间 ...

  4. JAVA里面json和java对象之间的相互转换

    1. 把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromObject(list);    String jsonstr = ar ...

  5. Lucene 分词

    在Lucene中很多数据是通过Attribute进行存储的 步骤是同过TokenStrem获取文本信息流 TokenStream stream = a.tokenStream("conten ...

  6. Storm事务Topology的接口介绍

      ITransactionalSpout 基本事务Topology的Spout接口,内含两部分接口:协调Spout接口以及消息发送Blot接口. TransactionalSpoutBatchExe ...

  7. 运维工程师如果将web服务http专变为https

    1:生成私钥   2:生成证书签署请求   3:在提供CA签署的web网站上,提交生成的证书签署请求   4:下载已经签署的CA证书   5:将证书的信息保留在web服务器中,且应用到提供web服务的 ...

  8. 正规文法转化DFA

    #include<string.h>#include<stdio.h>#include<stdlib.h>int main(){    char p[30][30] ...

  9. MySQL 事务 转自菜鸟教程 讲的清晰

    MySQL 事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...

  10. influxdb 命令

    写入数据: curl -X POST -d '[{"name":"foo","columns":["val"],&quo ...