我正在尝试在UITabbarController内使用UINavigationController。
这是我的控制器结构
-UITabbarController(InitialView)
-tabItemOne-DashboardController
-SomeButtons with StoryboardSegue-To-DifferentViewController
-tabItemTwo-OtherController
-tabItemThree-OtherController
现在我想在StoryboardSegue
中执行某些DashboardViewController
时显示返回按钮。假设我打开应用程序,可以在UITabbarController
上看到4个tabbarItem,在第一个tabbar item
中有DashboardViewController
,在此DashVC中,我有3个4个不同的按钮来显示其他视图控制器。到目前为止,一切正常。但是一旦DashVC的子ViewController出现在屏幕上,我想像UINavigationController
一样在顶部显示一个后退按钮。
我尝试将UINavigationController
放在UITabbarController
之前,但未显示。我试图做embed it in DashboardVC
,但再次尝试做not showing
。
我需要在UINavigationController
的childViewControllers
中分别嵌入DashboardVC
吗?
感谢您的帮助。
-UITabbarController(InitialView)
-NavigationController -tabItemOne-DashboardController
-SomeButtons with StoryboardSegue-To-DifferentViewController
-tabItemTwo-OtherController
-tabItemThree-OtherController
并且在DashBoardController中,您需要在]中添加此代码>
override func viewWillAppear(_ animated: Bool) { self.navigationController?.navigationBar.isHidden = true } override func viewWillDisappear(_ animated: Bool) { self.navigationController?.navigationBar.isHidden = false }
该代码是隐藏仪表板中的导航栏,并在按下另一个视图控制器时还原,因此不会隐藏您的后退按钮。同样,如果您在其他视图控制器中需要相同的功能,则应该嵌入导航控制器。
并非完全是您的情况,但是所有导航Controller都是UITabBarController的子级,后者是初始viewController。