![](/img/trans.png)
[英]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.