繁体   English   中英

iOS UINavigationController未显示在ChildView上

[英]iOS UINavigationController not shown on ChildView

在我的项目中,我在该视图中具有loginviewcontroller,如果登录成功,则在viewWillAppear方法中隐藏了navigationcontroller,我具有以下代码

-(void)gotoCheckinPage{
DashboardViewController *v = [[DashboardViewController alloc]
                            initWithNibName:@"DashboardViewController" bundle:nil];

UINavigationController *navCon = [[UINavigationController alloc]
                                  initWithRootViewController:v];

[navCon.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar_bg.png"]
                           forBarMetrics:UIBarMetricsDefault];

[self presentViewController:navCon animated:YES completion:nil];
}

但在仪表板视图控制器中未显示导航控制器

这就是我在loginview中隐藏navigationcontroller的方式

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

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

如果我评论这一行:

[self.navigationController setNavigationBarHidden:YES animated:animated];

没问题,但是想要在loginview中获取隐藏的navigationcontroller,然后在其他视图控制器中将其设置为active

有什么帮助吗?

写下您认为的代码。 您要在其中显示导航

-(void)viewWillAppear:(BOOL)animated{
    self.navigationController.navigationBarHidden = NO;
   }

您可以将其简单地添加到您的LoginViewController中:

-(void)viewWillAppear:(BOOL)animated
{
    self.navigationController.navigationBarHidden = YES; // Where you want to hide it.
}

在DashboardViewController中:

-(void)viewWillAppear:(BOOL)animated
{
    self.navigationController.navigationBarHidden = NO; // Where you want to show it.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM