在UIView里面的UITableView上方空白色空间

时间:2015-01-07 19:39:14

标签: ios uitableview interface-builder

我试图在ViewController视图中放置一个TableView,但在导航栏底部和表格顶部之间留下44个高度的间隙。然后我想在该间隙中放置一个UITextField作为固定头。出于某种原因,TableView在" Prototype Cells"的开头上方有一个空白空格。它只是白色的空间。这是故事板中的样子。

storyboard

查看应用程序显示时,它的外观如下:

app1

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

app2

8 个答案:

答案 0 :(得分:89)

尝试查看'属性检查器'参与者ViewController的(在右侧菜单中)。 选中' Extend Edges' 选项,然后取消选中' Under Top Bars',然后重新定位您的tableview。

另一种可能的解决方案是取消选中'调整滚动视图插图' 选项。 原因是当viewController扩展其边缘时,让我们说在顶部栏下,tableView的scrollView会自动调整其插入顶部,以便tableView的内容正好在顶部栏下面开始。但在你的情况下,这是不需要的,因为你的tableView本身就在条形码下面开始。

专注于ViewController并进入Attribute Inspector选项卡:

enter image description here

答案 1 :(得分:12)

试试这个:

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

答案 2 :(得分:9)

只需在ViewDidLoad方法

中添加此内容即可
self.automaticallyAdjustsScrollViewInsets = NO;

答案 3 :(得分:1)

您无需更改“延伸边缘”的默认设置。

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

答案 4 :(得分:0)

  

我刚刚为此找到了解决方案。   在我的情况下,我使用TabBarViewController,A只取消选中'调整滚动视图插入'选项。问题消失了。

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

答案 5 :(得分:0)

对于Objective-C人员,请在ViewDidLoad方法中添加它。

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

答案 6 :(得分:0)

我的问题是,我将tableHeaderView设置为新的UIView

self.tableHeaderView = UIView(frame: .zero)

删除此行,问题消失了。试试这个:

//self.tableHeaderView = UIView(frame: .zero)

答案 7 :(得分:0)

将表格视图样式从分组样式更改为普通样式

as shown here