【发布时间】:2013-09-23 16:35:47
【问题描述】:
从 iOS7 开始,我的 UITableView 顶部有额外的空间,其样式为 UITableViewStyleGrouped。
这是一个例子:
tableview 从第一个箭头开始,有 35 个像素的无法解释的填充,然后绿色标题是 viewForHeaderInSection 返回的 UIView(其中部分为 0)。
谁能解释这 35 像素的数量来自哪里以及如何在不切换到 UITableViewStylePlain 的情况下摆脱它?
更新(答案):
在 iOS 11 及更高版本中:
tableView.contentInsetAdjustmentBehavior = .never
【问题讨论】:
-
您使用的是最新的 iOS 7 吗?在后来的开发预览中,其中一些类型的不一致(但不是全部,也许不是这一种)已得到解决。我应该知道:我拖延了这么多一些问题消失了。
-
在这里查看答案 - stackoverflow.com/a/18986158/1463604
-
简短的回答是,这个额外的填充可能是由于表格视图标题(而不是部分标题),并且
UITableView不喜欢被分配高度为 0.0 的标题。更多详情请查看stackoverflow.com/a/31223403/1394534。 -
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 0.0f, CGFLOAT_MIN)];注意:0.0f只是忽略如果你在矩形的高度使用它。所以我们尽可能使用最接近零的 CGFloat(至少这对我来说“有效”......只是不是理想的解决方案)。 -
@AlejandroIván 你的评论让我度过了一个愉快的夜晚。我有一个带有分组原型的 tableView。我正在使用 numberSections = data.count 并设置 numberRows = 1。我设置了一个 heightForFooterInSection 以在每个之间留出一个干净的空间,并且由于某种原因出现了一个空白 tableHeaderView。
标签: ios uitableview ios7