UITableView 在第一个单元格上方有一个间隙

Posted

技术标签:

【中文标题】UITableView 在第一个单元格上方有一个间隙【英文标题】:UITableView has a gap above the first cell 【发布时间】:2016-08-11 00:01:19 【问题描述】:

在我的表格视图的第一个单元格上方有一个白色间隙,当您以任何方式与视图交互时,它就会消失。差距和导航栏一样高。我已经尝试过self.automaticallyAdjustsScrollViewInsets = false 并使用 0 x 0 视图作为标题。第一种方法什么都不做,而第二种方法会产生错误的结果。

【问题讨论】:

【参考方案1】:

申请

[self.navigationController setNavigationBarHidden:YES]; 

self.automaticallyAdjustsScrollViewInsets = false; 

如你所说。这对我有用。

啊,还有一件事。 重要

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
return HEIGHT_DEFAULT_TABLE_HEADER;



- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section 
return HEIGHT_DEFAULT_TABLE_FOOTER;

这两种方法可以调整表格视图的页眉和页脚高度。

【讨论】:

我不想隐藏导航栏,这样就无济于事了。而且我知道如何更改页眉和页脚的高度,但差距似乎与这些无关。 仅供参考 - 问题被标记为 Swift,而不是 Objective-C。 好的,很快..,@Pixel BTW 你是在 viewDidLoad 还是其他地方添加了它?就我而言,我将其添加到 viewDidLoad @HwanghoKim 链接的答案有所帮助。谢谢你。我还必须在父视图控制器上自动设置AdjustsScrollViewInsets。【参考方案2】:

我已经尝试了所有可能的解决方案,并发现它适用于 ios 11 及更高版本:

    self.tableView.contentInsetAdjustmentBehavior = .never

【讨论】:

【参考方案3】:

这件事曾经发生在我身上。尝试产品-> 清洁项目。

还可以尝试重新启动 XCode。

如果这不起作用,请尝试完全删除标题。如果要将其值设置为 0 x 0,为什么还要有一个标题。

还要确保属性检查器上的插图也为零。

如果这些都不起作用,请尝试最有效的解决方案,即完全删除您的UITableView 并重新添加它:(

【讨论】:

尝试了所有这些东西,没有任何帮助。

以上是关于UITableView 在第一个单元格上方有一个间隙的主要内容,如果未能解决你的问题,请参考以下文章

iOS UITableView 隐藏标题空间

UITableView 中有多个原型单元格?

如何在键盘上方滚动自定义 UITextField 单元格

使用自定义单元格反转 UITableView

将自定义 UITableViewCell 滚动到键盘上方?

将 UIButton 添加到 UItableview 单元格