当前位置: 首页 > 知识库问答 >
问题:

分组UITableView在底部有20px的额外填充

宫晟
2023-03-14

在iOS 6中,分组表视图的底部似乎有额外的填充(iOS 5没有),但我找不到任何文档表明这是正确的/预期的行为。

这也会影响示例项目,例如TableViewSuite示例中的SimpleTableView项目。我想我必须将App委托中的样式更改为分组,并将SDK更新为iOS6,但没有对项目进行其他更改。

调查显示,有10px保留给页眉和页脚视图,加上一些无法解释的20px。没有实际的页眉或页脚视图(tableHeaderViewtableFolterViewnil,并且实现和返回nil例如viewForFoterInSect不做任何事情)。我在tableView上找不到任何'20'值,当然我可能错过了一些东西。

为页脚添加一个零大小的视图没有任何作用,但是添加一个1pxsquare视图会导致额外的填充消失。例如。:

tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0,0,1,1)];

它仍然占据高度的1px,因此底部填充物现在是11px,但这远不如20明显。现在将sectionFooterHeight设置为0只会导致底部空间1px

我的问题是:什么?我怎样才能完全移除它?这不是什么关键任务,但它非常奇怪,不受欢迎,据我所知,它是没有记录的。

请注意-它的副本过去的问题从苹果开发论坛。但是我有完全相同的问题,我也不明白如何解决它。

共有3个答案

武成和
2023-03-14

斯威夫特3

override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return CGFloat.leastNormalMagnitude
}
洪德寿
2023-03-14

您可以使用contentInset来补偿20px的额外底部边距:

tableView.contentInset = UIEdgeInsetsMake(0, 0, -20, 0);
彭骏
2023-03-14

@frankWhite的解决方案非常有效,但这里有一个更好的解决方案,可以避免键入0.1、0.001或其他使其不那么模棱两可的内容。

// Swift version
func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {

    // remove bottom extra 20px space.
    return CGFloat.min
}
// Objective-C version
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {

    // remove bottom extra 20px space.
    return CGFLOAT_MIN;
} 
 类似资料:
  • 我对目标C和iOS有点新手,所以我的问题可能很愚蠢:)我在调试模式下检查了self.table数据,那里没有空项,并且返回正确的值。下面是UITableView数据源方法: 以下是我得到的: 在模拟器:http://take.ms/rm2DL 视图层次结构:http://take.ms/oALdi 这个空白区域正好有超过20个点的高度,所以我假设它应该是某种奇怪的标题。

  • 我的tableview在底部有一个额外的空间,如图所示: tableView中的所有行都具有71pt的固定高度。

  • 我正在使用recyclerview显示来自web服务的图像列表。我正在尝试在CardView小部件的ImageView中显示图像。一切正常。所有图像和列表都正确显示。但当我尝试在Kitkat 4.4.4上运行时,它会在Cardview中的图像顶部和底部显示额外的(大)填充。我只使用ImageView,没有文本,没有任何内容。 检查附加图像。 Cardview的XML代码

  • 我有一个UITabBarController的UITableView。当视图首次显示时,桌面视图在顶部显示额外的填充。当我切换到另一个标签,然后回来。它似乎在正确的位置。 所以我的问题是如何去除这个烦人的填充物,让它远离。 我尝试过的内容(但可能不正确): 取消酒吧等下的选项... 使表标题和视图大小为0.01f,并尝试使用nil和0。 可能还有上千种情况,但我遇到的堆栈溢出最多 问题截图: 问题

  • 从iOS 9.3.2开始,顶部和底部都有额外的空间。 下面是一些例子: 大约有20个像素无法解释的填充。谁能解释一下它们是从哪里来的? 这对我不管用。

  • 从iOS7开始,在我的的顶部有额外的空间,它们具有样式。 这里有一个例子: tableview从第一个箭头开始,有35个像素的无法解释的填充,然后绿色标题是返回的(其中节为0)。 有人能解释一下这35像素的数量是从哪里来的吗?我如何在不切换到的情况下摆脱它?