2012-08-23 352 views
0

我遇到了問題。起初來自AppDelegate的一些代碼。隱藏導航條,顯示導航欄

- (void)HideMainNavigationBar{ 
navigCtrl.navigationBarHidden = YES; 
} 

- (void)ShowMainNavigationBar{ 
navigCtrl.navigationBarHidden = NO; 
} 

navigCtrl是我的導航控制器。 在我的其他視圖控制器我需要隱藏我的導航欄,然後顯示它,以正確顯示它。

- (void) moviePlayerWillExitFullScreen:(id)sender { 
    NSLog(@"exitfullscreen"); 
    AppDelegate *ptr = [AppDelegate SharedAppDelegate]; 
    [ptr HideMainNavigationBar]; 
    [ptr ShowMainNavigationBar]; 
} 

之後,而不是我的自定義tabBarButton我看到後退按鈕:

enter image description here

自來水OB後退按鈕後,它消失了,我再次看到我的導航欄和我的自定義按鈕。這個「錯誤」是在iOS 5.1.2上檢測到的,在iOS 4.3.2上運行正常。

這讓我發瘋,請幫忙。

P.S.我知道,我可以使用:

self.navigationController.navigationBar.frame = CGRectMake(0, 20, self.navigationController.navigationBar.frame.size.width, self.navigationController.navigationBar.frame.size.height); 

正確顯示的導航欄,但我需要顯示/隱藏的導航欄隱藏它,而旋轉的VideoPlayer。

任何想法? 等待你的回答,謝謝。

+0

如果必須一直隱藏,您是否試圖隱藏它在viewWillAppear? – Leonardo

+0

當moviePlayer處於全屏模式時,它必須隱藏,因爲我在旋轉過程中看到它。 – quaddef

回答

0

所以,經過一些操作,我決定簡單地設置我的navigationBar alpha。

if (SYSTEM_VERSION_LESS_THAN(@"5")) 
      [ptr HideMainNavigationBar]; 
else self.navigationController.navigationBar.alpha = 0; 

我希望這將是一個有用的人。再見。