如何从UITableView中删除页眉和页脚空间?

时间:2011-06-17 03:14:08

标签: ipad uitableview ios4

我在分组样式中有一个UITableView,只有一个部分。但是,当用户滚动得太远时,在表视图的上方和下方会显示一些空白区域。如何删除此空白区域?

9 个答案:

答案 0 :(得分:58)

您可以通过更改表视图从contentInset继承的UIScrollView属性来执行此操作。

self.tableView.contentInset = UIEdgeInsetsMake(-20, 0, -20, 0);

这将使顶部和底部触及边缘。

答案 1 :(得分:3)

添加此代码:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 0;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return 0;
}

答案 2 :(得分:1)

实际上这个问题回答了我的问题。

Reducing the space between sections of the UITableView.

答案 3 :(得分:0)

可以在表格的顶部和底部插入UIView(拖放)。将其属性设置为透明,高度为1像素。这是为了去除单元格前面的额外填充。

答案 4 :(得分:0)

您也可以使用此代码删除uitableview的第一个单元格之间的空格。

 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
 {
    return 0.002f;// set this...
 }

答案 5 :(得分:0)

取消选中在顶部栏下展开边缘。

enter image description here

答案 6 :(得分:0)

这个答案来得很晚,但我希望它能对某人有所帮助。

因为UITableView的{​​{1}}属性,所以存在空格。当tableHeaderView属性为tableHeaderView时,Apple默认为视图。因此,解决此问题的方法是创建一个高度大于nil的空视图。设置此设置会覆盖默认视图,从而删除不需要的空间。

这可以通过在情节提要中将视图拖动到0的顶部,然后将视图的高度设置为tableView或更大的值来完成。

或者可以通过以下代码以编程方式完成:

Objective-C:

1

快捷键:

CGRect frame = CGRectZero;
frame.size.height = CGFLOAT_MIN;
[self.tableView setTableHeaderView:[[UIView alloc] initWithFrame:frame]];

评论

正如其他人所指出的,您可以对页脚使用相同的解决方案。


来源和致谢

有关var frame = CGRect.zero frame.size.height = .leastNormalMagnitude tableView.tableHeaderView = UIView(frame: frame) 属性的更多详细信息,请参见Documentation

感谢@liushuaikobe使用最小正数进行验证。

我的原始答案:https://stackoverflow.com/a/22185534/2789144

答案 7 :(得分:0)

就我而言,问题在于我所施加的约束。我必须更改它们才能在我的情况下显示2行,而表格底部触摸最后一行。

答案 8 :(得分:-4)

使用bounces的{​​{1}}属性:

UIScrollView

这会删除[yourTableView setBounces:NO];顶部和底部的额外填充内容。 实际上,它只会禁用tableview的scrollview滚动浏览内容的边缘。