ContainerView中TableView的最后一行隐藏在TabBar

时间:2015-07-21 12:58:43

标签: ios objective-c uitableview uitabbar

构建具有tabbar的应用。其中一个标签,我需要使用容器视图,因为我在三个表视图之间切换。这种切换效果很好,所以我不会告诉你这些代码要清楚。但是,这些表隐藏在tabbar后面。喜欢: enter image description here

我正在使用storyboard,容器视图是这样的: enter image description here

所以在这里我将故意容器放在tabbar的顶部,因为我不想重叠。然后使用这些代码,我认为这将帮助我找到容器的边界并将其设置为tableView:

enter image description here

代码行vc.view.frame = self.contentView.bounds;就是我所说的。但显然,这根本不起作用,因为表仍然在标签栏后面。

我在互联网上找到了一些解决方案,例如在viewDidLoad中设置tableView的同意,取消选中tabbar的某些属性并使tabbar变为不透明。这些都没有奏效。我之所以这么理由。我必须这样做,因为我无法找到适合我案例的解决方案。

希望你能看到问题,并帮助我弄明白。

如果您需要更多信息/解释,请询问我。

任何建议都将不胜感激。

谢谢!

3 个答案:

答案 0 :(得分:3)

尝试从故事板中取消选中视图控制器的底部栏属性。如果它不起作用,也取消选中那里的调整ScrollView Inset 属性。

此外,您必须确保底部布局约束必须设置为底部布局指南而不是超级视图。

答案 1 :(得分:3)

enter image description here

其中标签栏未显示设置约束,如下所示 enter image description here

请尝试设置这样的约束,我希望它能帮到你。

答案 2 :(得分:1)

我有一个类似的问题,但没有表视图和Swift。无论如何,我的视图隐藏在我的标签栏后面。

if let tabBarController = tabBarController {
    tabBarController.tabBar.isTranslucent = false
}

在UITabBarController显示的UIViewController中使用它解决了我的问题。我在导航栏上遇到了同样的问题,这就是我找到答案here的原因,但它也适用于标签栏。