没用 Storyboard 的校友利用方面的代码就 OK 了,没用 Storyboard 的同桌利用方面的代码就 OK 了

先是个section上面多余间距处理

// 隐藏UITableViewStyleGrouped上边多余的间隔
_tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];

率先个section上面多余间距处理

// 隐藏UITableViewStyleGrouped上边多余的间隔
_tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];

各类section下面多余间距处理

// 隐藏UITableViewStyleGrouped下边多余的间隔
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}
  • 备考:若传入的 height == 0,则 height 被装置成默许值
  • 若 height
    小于显示屏半像素对应的可观,则不会被渲染,所以那里重临CGFLOAT_MIN,其实重回0.01也是足以的

各样section上面多余间距处理

// 隐藏UITableViewStyleGrouped下边多余的间隔
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}
  • 备考:若传入的 height == 0,则 height 被设置成默许值
  • 若 height
    小于屏幕半像素对应的莫大,则不会被渲染,所以那里重回CGFLOAT_MIN,其实再次来到0.01也是足以的

填补:代码顺序的不比造成第三个section上边出现多余间距

  • 在装置代理设置tableFooterView,上边会出现剩余间距

tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStyleGrouped];
tableView.tableFooterView = [UIView new];
tableView.delegate = self;
tableView.dataSource = self;
  • 在装置代理设置tableFooterView,上边不会出现剩余间距

tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
tableView.tableFooterView = [UIView new];
  • 可以经过第一个section上边多余间距处理的法门来缓解因代码顺序导致的上述难点,所以那里提出要化解第一个section上边多余间距照旧通过小说开始所说的解决办法更好

补充:代码顺序的不比造成首个section上面出现多余间距

  • 在设置代理设置tableFooterView,上边会出现余下间距

tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStyleGrouped];
tableView.tableFooterView = [UIView new];
tableView.delegate = self;
tableView.dataSource = self;
  • 在设置代理设置tableFooterView,上边不会出现结余间距

tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
tableView.tableFooterView = [UIView new];
  • 可以经过第一个section上边多余间距处理的方式来解决因代码顺序导致的上述难点,所以那里提议要缓解第一个section上边多余间距如故经过文章先导所说的解决办法更好

在 Storyboard 中 0 代码搞定

没用 Storyboard 的校友利用方面的代码就 OK 了; 而在 Storyboard 中可以 0
代码搞定这一个事: 

第一,在首先个 Section 的方面拖进来一个空 UIView 

图片 1

然后选中这么些 UIView 的 Runtime Attributes 栏,添加一个 frame 的
KeyPath 

图片 2

这么尾部的区间就乖乖的遗失了: 

图片 3

在 Storyboard 中 0 代码搞定

没用 Storyboard 的同班利用方面的代码就 OK 了; 而在 Storyboard 中得以 0
代码搞定那些事: 

先是,在率先个 Section 的下边拖进来一个空 UIView 

图片 4

下一场选中这一个 UIView 的 Runtime Attributes 栏,添加一个 frame 的
KeyPath 

图片 5

如此底部的距离就乖乖的丢失了: 

图片 6

刨根问底 UITableViewHeader 的猫腻

缘何刚才说 0.1 和 CGFLOAT_MIN
是同一的吧?经过探究,这一个中度值的影响差不离是那般的:

  1. 若传入的 height == 0,则 height 被安装成默许值
  2. 若 height 小于显示屏半像素对应的惊人,这么些 header 不在另一个像素渲染

半像素也就是 1.0 / scale / 2.0,如在 @2x 屏上是 0.25
直观的感触下,倘诺那一个 height 被装置成 0.5 的规范:
图片 7

导航栏下边的阴影线看上去宽了 0.5 像素的,Done。

参照文章

刨根问底 UITableViewHeader 的猫腻

干什么刚才说 0.1 和 CGFLOAT_MIN
是一样的吗?经过商量,那些高度值的熏陶大约是这么的:

  1. 若传入的 height == 0,则 height 被装置成默认值
  2. 若 height 小于显示屏半像素对应的冲天,这些 header 不在另一个像素渲染

半像素也就是 1.0 / scale / 2.0,如在 @2x 屏上是 0.25
直观的感受下,即使这么些 height 被安装成 0.5 的指南:
图片 8

导航栏上边的阴影线看上去宽了 0.5 像素的,Done。

参照小说

相关文章