[英]iOS - Identify what UIViewController was previously shown in a UINavigationController
[英]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.