12

目前我的应用程序的主页隐藏了导航栏;但是,每当我尝试将该控制器推到下一个 viewController 时,它也会隐藏该导航栏。我目前有这是没有导航栏的视图控制器:

[self.navigationController pushViewController: mapView animated:YES];

每当它推到下一个时,它就不再有一个了。下一个 viewController 的导航栏在viewWillAppear方法中,所以它应该会显示出来。有任何想法吗?

回答:

如果您在 ViewController 中隐藏导航栏并希望在下一个中显示它,请使用以下代码:

someVC *VC = [[someVC alloc] init];
self.navigationController.navigationBarHidden=NO;
[self.navigationController pushViewController: VC animated:YES];

@LithuT.V 和 @Tendulkar 谢谢!

4

4 回答 4

8

将这段代码写在mapView的ViewDidload方法中

[self.navigationController.navigationBar setHidden:NO];
于 2013-09-18T05:17:14.853 回答
2

我花了两个小时试图在从不同故事板推送的视图控制器上显示我的导航栏。

请注意,主情节提要中只需要一个导航控制器,然后对于导航栏消失的视图控制器,将其隐藏并通过以下代码再次显示。

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    [self.navigationController setNavigationBarHidden:YES animated:YES];
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}
于 2016-08-14T14:22:56.970 回答
1

我猜你正在从情节提要中隐藏你的导航栏,试试下面的代码:

//Show navigationBar for a particular VC

-(void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:NO];  
}

-(void)viewWillDisappear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:YES];
}
于 2013-09-18T05:16:34.263 回答
0

添加self.navigationController.navigationBarHidden = NO;下一个 viewControllers-(void)viewWillAppear:(BOOL)animated方法。

这将显示 viewController 的导航栏

于 2013-09-18T05:19:14.640 回答