在UIView里面的空白空间UITableView

我想在我的ViewController视图中放置一个TableView,但是在导航栏的底部和表格的顶部之间留下了一个44的高度差距。 然后我想把UITextField放在那个缝隙里,作为一个固定的头部。 出于某种原因,TableView在“原型单元格”的开头之上有一个空的空白区域。 它只是白色的空间。 这是故事板中的样子。

故事板

查看应用程序显示时,看起来是这样的:

APP1

当滚动表格时,它会一路走到正确的位置:

APP2

尝试查看Participants ViewController的“属性检查器”(在右侧菜单中)。 检查选项“延长边缘” ,取消选中“顶部酒吧”,然后重新定位您的桌面视图。

另一个可能的解决scheme是取消选中“调整滚动视图插入”选项。 原因是,当viewController扩展它的边缘时,让我们说在顶部栏,tableView的scrollView会自动调整它的插入顶部,以便tableView的内容将精确地开始在顶部栏下。 但在你的情况下,这是不需要的,因为你的tableView自己开始吧。

专注于ViewController并进入属性检查器选项卡:

在这里输入图像说明

试试这个:

self.tableView.contentInset = UIEdgeInsetsMake(-65, 0, 0, 0) 

只要在你的ViewDidLoad方法中join这个

 self.automaticallyAdjustsScrollViewInsets = NO; 

您不需要更改Extend Edges的默认设置。

看起来真正的问题是故事板中的空白表头视图。 它显示在您提供的故事板的屏幕截图中,位于“input名称”视图下方,并位于“原型单元格”视图的正上方。 删除它。

我刚刚find了一个解决scheme。 在我的情况下,我使用TabBarViewController,A只是取消select“调整滚动查看插图”。 问题消失。

https://i.stack.imgur.com/qgQI8.png

对于Objective-C人员,请将其添加到ViewDidLoad方法中。

 [self.tableView setContentInset:UIEdgeInsetsMake(-20, 0, 0, 0)];