在手动放置的UINavigationBar下滚动UITableView

时间:2014-05-31 19:36:23

标签: objective-c uitableview uinavigationbar

我有一个模态视图控制器,其类型是UIViewController。在这个控制器上,我有两个控件; UINavigationBar和UITableView。它们使用autolayout放置,其中UITableView的上边缘等于UINavigationBar的下边缘。当我滚动表格视图时,我想看到在UINavigationbar下滚动的tableview(导航栏的alpha设置为0.96f,它适用于导航控制器提供导航栏的所有其他地方。)

我假设我现在没有看到它,因为表视图的上边缘等于uinavigation bar的下边缘所以我认为这就是它不在UINavigationBar下的原因。

那么,滚动时如何让UITableView在UINavigationBar下运行呢?

1 个答案:

答案 0 :(得分:1)

  

我假设我现在没有看到它,因为表视图的上边缘等于uinavigation bar的下边缘所以我认为这就是它不在UINavigationBar下的原因。

正确。所以如果那不是你想要的,那就不要那样做了。使用“置于前面”以确保导航栏位于表格视图的前面(但不是其子视图)。然后更改自动布局约束,以便将表视图的顶部固定到顶部布局指南。导航栏的顶部也固定在顶部布局指南上,因此现在表格视图位于导航栏下方。

现在您将在滚动定位和表格视图中滚动指示符的位置出现问题 - 内容偏移量{0.0}将隐藏导航栏下的第一个单元格 - 但您可以通过以下方式轻松解决这些问题调整表视图的内容插入和滚动指示符插入。