在标签栏控制器中嵌入导航控制器会更改视图控制器的安全区域

Posted

技术标签:

【中文标题】在标签栏控制器中嵌入导航控制器会更改视图控制器的安全区域【英文标题】:Embedding Navigation Controller in a Tab Bar Controller changes Safe Area for View Controller 【发布时间】:2018-01-05 07:26:42 【问题描述】:

我有一个视图,我想通过顶部的导航和底部的标签栏来显示它。此视图将从***选项卡栏控制器中的选项卡打开。

当我在此视图的选项卡栏控制器中嵌入导航控制器时,我的视图控制器内的安全区域会发生变化。嵌入操作会从顶部和底部添加一些偏移量。

在嵌入之前它看起来像:

嵌入后它会变成这样:

视图设置窗格如下所示:

为什么会这样?我该如何解决这个问题?

【问题讨论】:

选择您的导航控制器并将顶部栏和底部栏的设置更改为推断。希望这对我有用。 @PallaviSrikhakollu 顶栏和底栏设置都已经推断出来了。 也适用于导航控制器?因为当我创建一个新项目并尝试您的方案时,我遇到了同样的问题,但更改导航栏的设置对我有用。 是的,导航控制器的顶部/底部栏设置已设置为推断。我找到了解决方案。请看我的回答。 【参考方案1】:

我通过取消选中导航控制器的Shows Navigation Bar 设置解决了这个问题。

【讨论】:

以上是关于在标签栏控制器中嵌入导航控制器会更改视图控制器的安全区域的主要内容,如果未能解决你的问题,请参考以下文章

如何导航到嵌入在标签栏控制器中的视图控制器

以模态方式将嵌入在导航控制器中的视图控制器与标签栏控制器分开

更改嵌入在标签栏视图控制器中的 ABPeoplePickerNavigationController 的色调和背景颜色

Swift 2:更改与选项卡栏控制器相关的视图上的导航标题

所有标签栏控制器的栏按钮

如何将导航控制器嵌入到标签栏控制器