底部标签栏上方的空白 - 嵌入式导航控制器+嵌入式表视图

3
这个问题困扰我几天了。以下是我的相关故事板布局:enter image description here我已经为所有三个视图控制器设置了每一个布局,但仍然得到一个结果为“间隙”的表视图,位于Banner View的上方——似乎与Banner View的高度相同。如下所示:enter image description here有一件事确实起作用,那就是像这样将容器视图拖到底部的Banner View上:enter image description here而且结果在我的测试设备以及每个模拟器上都可以完美呈现,即没有间隙。但这种解决方法本质上是某种意义上的黑客行为,我想看看是否有任何方法可以正确地解决这个问题。值得一提的是,我尝试了IB中的每个选项——调整滚动视图插图、在顶部/底部栏下延伸边缘等,以及我在各处搜索到的各种代码片段。对我来说,似乎没有什么能够解决这个问题。我设法解决了表视图在导航栏下方的间隙(似乎是一个常见问题,有很多相关内容)。但是似乎没有像我上面那样的情况那么多。非常感谢任何帮助或指示。谢谢大家:-) *附加信息* 根据下面的评论,我添加了我尝试过的容器约束: enter image description here

抱歉,我应该添加约束条件。很高兴你指出了这一点。我一直在关注容器的“底部”约束条件,而将顶部保持不变,因为我对TableView的顶部对齐没有问题。 - Katherine Jenkins
1
我看了你的表视图,发现它和视图控制器底部之间有空隙。这可能是造成这个间隙的原因吗? - Alexander Doloz
没错,但是你在tabbarcontroller中不必要地使用了一个容器视图,这样你的表视图控制器无法推断它在tabbarviewcontroller中。你希望你的表视图控制器与容器视图底部对齐。 - beyowulf
1
我建议您直接将导航控制器嵌入选项卡视图控制器中,并调整表视图的底部插入。 - beyowulf
@beyowulf 我如何将导航控制器嵌入选项卡控制器中?这就是我使用容器的原因。我需要将表视图控制器作为导航控制器的根视图控制器,以便管理内容流程。 - Katherine Jenkins
显示剩余6条评论
2个回答

6

当我使用ContainerView嵌入StoryboardReference来支持iOS8上的UITabBarController时,遇到了类似的间隙问题。

我通过在容器视图的视图控制器上打开Extended Edges -> Under OpaqueBars复选框来解决这个问题,如下图所示:

红色UIView是ContainerView,StoryboardReference中的第一个ViewController是UINavigationController。


0

好的。实际上,在@beyowulf的帮助下,我意识到我的当前设置必须更改。

我是

在您的tabbarcontroller中不必要地使用容器视图

正如他所指出的那样

您的表视图控制器没有办法推断它在tabbarviewcontroller中。

为了使我的表视图控制器与容器视图底部对齐,我必须

直接将您的导航控制器嵌入到tabbarviewcontroller中,并调整表视图的底部插图。

我通过顶部菜单栏项目完成了这个操作:

  1. 选择TableViewController
  2. 编辑器>嵌入 - - - > Tab Bar Controller。

之后,您可以轻松地将导航控制器合并到故事板中,如果您愿意,我也这样做了。

一个方便的提示,我遵循它来解决我的“间隙”问题出现在底部选项卡栏上面。

希望这能帮助任何可能面临相同问题的人。

再次感谢@beyowulf。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接