2012-08-30 61 views
1

我有rootViewController與NavigationController。在rootView導航欄上隱藏。當我推下一個視圖navBar顯示。所以當我從第二個視圖返回到rootView navBar隱藏。沒關係。然後我想從第二個視圖轉到第三個視圖並顯示navBar。但它是隱藏的,因爲在第二個觀點我有這樣的代碼隱藏導航欄在rootView時,從第二個觀點去它:顯示和隱藏導航欄不同的意見

-(void)viewWillDisappear:(BOOL)animated{ 
    [super viewWilDisappear:animated]; 
    [self.navigationcontroller setNavigationBarHidden:YES animated:YES]; 
} 

如何顯示僅在rootView導航欄和隱藏所有其他的意見? ?

第二個視圖是UIViewController的子類,第三個視圖也是IB創建的UITableView的UIViewController的子類。


UPD

在第一個的viewController我已經添加了這一點:

-(void)viewDidLoad{ 
[self.navigationController setNavigationBarHidden:YES]; 
[super viewDidLoad]; 

} 

-(void)viewWillAppear:(BOOL)animated{ 

    [super viewWillAppear:animated]; 
    [self.navigationController setNavigationBarHidden:YES animated:YES]; 
} 

-(void)viewWillDisappear:(BOOL)animated{ 

    [super viewWillDisappear:animated]; 
    [self.navigationController setNavigationBarHidden:NO animated:YES]; 
} 

,第三列是:

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

感謝您的幫助,夥計們!如果你想展示的是你的第二個導航欄

-(void)viewDidAppear:(BOOL)animated 
    { 
     [self.navigationcontroller setNavigationBarHidden:NO animated:YES]; 

} 
+0

請重新設置您的問題。理解你的意思真的很難!哪個視圖控制器應該顯示導航欄? – mvb

+0

第二個和第三個視圖控制器應顯示導航欄。 – pash3r

+0

請將正確答案標記爲正確答案! – Fab1n

回答

1
在第三視圖的

viewWillAppear中補充一點:

-(void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.navigationcontroller setNavigationBarHidden:NO animated:YES]; 
} 
+0

感謝您的回答! – pash3r

1

試試這個: -

在thirdView寫第三個ViewControllers只需將以下內容添加到您的viewWillAppear或viewDidLoad方法中:

self.navigationController.navigationBarHidden = NO; 

這是在您的UINavigationController具有(強)屬性的情況下,我建議您應該擁有該屬性。