带有导航控制器标签栏控制器的导航控制器
Navigation controller with tab bar controller of navigation controller
我有一个导航控制器,它的根视图控制器是一个标签栏控制器。在这个标签栏控制器中,我有两个像这样的视图控制器:
在选项卡栏控制器中,我有一个自定义导航栏。
当我单击选项卡栏中的第一项时,导航栏看起来不错
但是当我点击第二个时,我遇到了一个问题:导航栏下方有另一个红色的导航栏。
有人可以为我解释一下吗?
如果您不想要第一个导航控制器的导航栏,那么从界面构建器(故事板)select 您的根导航控制器(即嵌入了 tabbarcontroller 的导航控制器)并从 attribute inspector
取消选中shows navigation bar
在 Navigation controller
之下!这将隐藏根导航视图控制器的导航栏!!
在您的情况下,您应该在 viewWillDisAppear
和 viewWillAppear
中隐藏和显示导航栏,例如
在viewWillAppear
self.navigationController.navigationBar.hidden = NO;
在viewWillDisAppear
self.navigationController.navigationBar.hidden = YES;
为你的 viewcontroller tabbarcontroller 做以上事情!!
您可以在根导航控制器上执行 navigationController.navigationBarHidden = true
,或者 child 任何适合您的操作。
但是如果你只使用一个 UINavigationController
和 IMO navigationController
of UITabBarController
会更好。
我有一个导航控制器,它的根视图控制器是一个标签栏控制器。在这个标签栏控制器中,我有两个像这样的视图控制器:
在选项卡栏控制器中,我有一个自定义导航栏。 当我单击选项卡栏中的第一项时,导航栏看起来不错 但是当我点击第二个时,我遇到了一个问题:导航栏下方有另一个红色的导航栏。 有人可以为我解释一下吗?
如果您不想要第一个导航控制器的导航栏,那么从界面构建器(故事板)select 您的根导航控制器(即嵌入了 tabbarcontroller 的导航控制器)并从 attribute inspector
取消选中shows navigation bar
在 Navigation controller
之下!这将隐藏根导航视图控制器的导航栏!!
在您的情况下,您应该在 viewWillDisAppear
和 viewWillAppear
中隐藏和显示导航栏,例如
在viewWillAppear
self.navigationController.navigationBar.hidden = NO;
在viewWillDisAppear
self.navigationController.navigationBar.hidden = YES;
为你的 viewcontroller tabbarcontroller 做以上事情!!
您可以在根导航控制器上执行 navigationController.navigationBarHidden = true
,或者 child 任何适合您的操作。
但是如果你只使用一个 UINavigationController
和 IMO navigationController
of UITabBarController
会更好。