簡體   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