删除插入分组 UITableView 上方的空间

Posted

技术标签:

【中文标题】删除插入分组 UITableView 上方的空间【英文标题】:Remove space above inset grouped UITableView 【发布时间】:2020-04-23 14:29:05 【问题描述】:

我有一个带有导航栏的表格视图控制器。我的表格视图是一个插入分组表格视图,每个部分都有标题。我正在尝试删除表格视图标题上方的空间。这是我的表格视图: 我该怎么做?

我试过了:

func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 
    return 0.1

但这不起作用。

【问题讨论】:

【参考方案1】:

适用于仍在寻找答案的任何人。该填充是由 UITableView 自己的标题引起的。这可以通过 tableHeaderView 属性进行设置。所以它看起来像这样:

let tableView = UITableView(frame: CGRect(x: 0, y: 0, width: 10, height: 100), style: .grouped)
tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: CGFloat.leastNonzeroMagnitude))

height 设置为零将导致默认高度行为而不是实际大小为 0。

【讨论】:

上面的解决方案对我有用。第 0 部分的部分标题高度为 .leastNormalMagnitude,因为我不希望第一部分有标题,但其他标题为 .automaticDimesnsion,因为其他部分有标题。【参考方案2】:

尝试从 tableviewcontroller 中删除方法 viewForHeaderInSection 它应该对你有帮助。

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?

用这个方法,看起来像

没有

【讨论】:

以上是关于删除插入分组 UITableView 上方的空间的主要内容,如果未能解决你的问题,请参考以下文章

如何减少/删除分组 UITableView 中的左/右手边距?

删除分组 uitableview 中单元格前的空格

UITableView 数据插入

带有标题部分的插入分组 UITableView

分组 UITableView 35 点/像素顶部插入/填充

向分组的 UITableView 添加阴影