设置约束后,在NavigationBar后面的UITableView

时间:2015-09-17 06:57:03

标签: ios uitableview storyboard constraints

我已经向我的ViewController添加了一个TableView。

我设置了这样的约束: enter image description here

enter image description here

然而,当我运行项目时,第一个单元格的顶部(如40px)位于NavigationBar的后面:

enter image description here

我在这里做错了什么?为什么TableView在navigationControllerBar后面?

2 个答案:

答案 0 :(得分:5)

不要只将约束设置为50,这在很多级别上都是错误的。

约束表格视图的视图控制器的顶部到顶部布局指南。这也将为你处理轮换。在横向中,导航栏可能具有较小的高度,这也是它的原因。如果你把它设置为50,它可能看起来很荒谬。

或者将表格视图固定在超级视图的顶部,并将contentInset属性设置为条形高度(如果您想要半透明导航栏并查看导航栏下的单元格,这非常有用你滚动)。您可以在代码或故事板中执行此操作:

enter image description here

答案 1 :(得分:0)

您未使用约束来计算导航栏。将顶部约束设置为50.

由于“界面”构建器中的场景没有导航栏 - 约束不考虑它,并且y(顶部)在视图上设置为0,该视图没有导航栏。

将顶部约束设置为50或在视图中放置一个条形并将顶部约束设置为它。