正确管理导航栏和标签栏

时间:2018-06-06 16:51:28

标签: swift navbar tabbar

该图显示了我的故事板,其中包含了segues。

storyboard

在tabBar的登陆视图控制器(即I)中,tabBar和navBar都是可见的,这是所需的。但是,如果执行segue(从I)到另一个viewcontroller(这里,II),我只想要navBar。我可以使用

隐藏tabBar
self.tabBarController?.tabBar.isHidden = true

接下来,我可以通过在开头添加导航控制器来实现所需的结果,如下所示。

enter image description here

此配置会向前面的视图控制器添加导航栏(如启动画面),因此我必须隐藏这些视图控制器中的导航栏。

是否有其他方法不需要隐藏条形图并达到预期效果?

1 个答案:

答案 0 :(得分:0)

你应该采用第一种方法。标签栏控制器具有隐藏底栏的默认属性。见下面的示例代码。

    ViewController *viewController = [[ViewController alloc] init];
viewController.hidesBottomBarWhenPushed = YES;  // This property needs to be set before pushing viewController to the navigationController's stack. 
[self.navigationController pushViewController:viewController animated:YES];

这会在推送到任何子控制器时隐藏标签栏。

修改

您还可以从故事板中为tabbar控制器设置hidesBottomBarwhenpushed,这样您就不必记下任何代码。