UITabBarController 内的 UINavigationController 视觉问题

Posted

技术标签:

【中文标题】UITabBarController 内的 UINavigationController 视觉问题【英文标题】:UINavigationController inside UITabBarController visual issues 【发布时间】:2015-10-20 14:19:51 【问题描述】:

对于我的应用,我在标签栏控制器中使用了导航控制器。除了一件事,一切都很好。我在屏幕顶部有一个与导航栏大小相同的灰色条。我没有成功删除它。在情节提要中,一切看起来都很好。 任何人都知道这个灰色条是什么以及如何删除它?

绿色条是我的导航栏。我为第一个屏幕定制了它。

如果我转到另一个选项卡项目并执行[self.navigationController setNavigationBarHidden:YES animated:animated];,当我回来时,灰色条消失。 但是,如果直接在导航控制器上执行此操作,导航栏会消失,而灰色栏会保留。

【问题讨论】:

你是导航控制器里面的标签栏控制器吗? 没有标签栏是情节提要的来源,我在标签栏的一项内有一个导航控制器 我找到了一些东西。如果我转到不是导航控制器的选项卡栏的另一个选项卡并将导航栏隐藏在这个选项卡中,当我使用导航控制器返回选项卡时,灰色栏消失了,一切都很好 标签栏控制器的第二个 segue 链接在哪里?我的意思是有一个进入导航控制器,另一个进入某个未显示在屏幕截图中的视图控制器 他在另一个视图控制器上打开标签栏的另一个标签。它只是一个简单的视图控制器,现在什么都没有。当我进去时,灰色条也出现了。除非我做一个 [self.navigationController setNavigationBarHidden:YES animated:animated];在视图上出现了。如果当我回到导航控制器时这样做,灰色条就会消失。但是,如果我在导航控制器中隐藏导航栏,灰色栏会保持不变,导航栏会消失 【参考方案1】:

感谢 Jad Feitrouni 发现我的问题。当我从我的 appDelegate 调用我的 TabBarController 时,它被嵌入到 NavigationController 中。我删除了它,现在很好

【讨论】:

当您在导航控制器中设置时,您应该始终检查您的导航栏,如果不需要将其隐藏在导航控制器中。

以上是关于UITabBarController 内的 UINavigationController 视觉问题的主要内容,如果未能解决你的问题,请参考以下文章

如何从应用程序委托访问 uitabbarcontroller 内的 uinavigationcontroller 内的 uitableview?

无法将 UITapGestureRecognizer 添加到 UITabbarController 内的 UITableViewController

iPhone:UITabBarController 内的半透明导航栏

UISplitViewController 内的 iOS 13 UITabBarController 未正确折叠

UITabBarController 内的 UINavigationController 视觉问题

在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?