2010-12-14 28 views
2

在我的應用程序中,我想要隱藏導航欄時,我要去以前的視圖和即時隱藏導航欄在viewwiilldisaapper方法,但效果是保持意味着它給出時的白色屏幕pop ..如何克服導航欄的效果

所以任何人都可以告訴我解決方案。

感謝所有。

+0

http://stackoverflow.com/questions/845583/iphone-hide-navigation-bar-only-on-first-page – bala3569 2010-12-14 05:20:49

回答

7

您需要使用

- (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]; 
} 

隱藏在該頁面的viewWillAppear中的導航欄,如果你需要隱藏在一定條件下的導航欄,那麼你需要把正確的if else語句,因此與使用此信息您根據你的情況制定邏輯。

而且視圖是自動調整的,所以沒有你彈出後獲得的空白空間,但是你在彈出時得到的空白空間(沒有解決方案)。

+0

感謝重播 – Priyanka 2011-02-03 09:16:09

-1

我認爲這是由於自定義導航欄。這是正確的嗎? 如果您有自定義導航欄,那麼您需要調整即將到來的 視圖。不要緊,你會如何隱藏它。

1
  • (無效)viewWillDisappear:(BOOL)動畫 {

    如果(self.navigationController.topViewController =自我!)

    {

    [self.navigationController setNavigationBarHidden:NO animated:animated]; 
    

    }

    [super viewWillDisappear:animated]; }

+0

感謝重播.. – Priyanka 2011-02-04 06:23:53