2012-07-21 127 views
0

我有一個導航控制器,它在第一個視圖上有一個隱藏的導航欄,然後出現在所有的子視圖中。問題是,如果你回到第一個視圖,我似乎無法再隱藏它。返回按鈕上的調用方法

我創建了一個後退按鈕(這樣我就可以將其重命名)在第一種觀點的init:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] 
    initWithTitle:@"Logout" style:nil target:self 
    action:@selector(hideNavigationBar:)]; 

但這種方法不會被調用。爲什麼?

+0

是你獲得按鈕的標題爲「註銷」 – samfisher 2012-07-21 17:40:06

+0

大概導航欄是越來越隱蔽爲你彈出控制器。所以你按「註銷」,酒吧被隱藏,控制器彈出,你現在看到前一個控制器,這應該是沒有酒吧,但酒吧存在,不是嗎? – 2012-07-21 17:42:17

+0

該按鈕正確重命名,只是該方法從未被調用過。我從來沒有看到日誌。 – speg 2012-07-21 18:13:21

回答

1

在你的第一個控制器,在-(void)viewWillAppear,說:

[self.navigationController setNavigationBarHidden:YES animated:NO]; 
+1

+1。我也這樣做,並且比編輯後退按鈕方法更清潔。 – DGund 2012-07-21 17:47:25

+1

當然,@Devin Gund,你可以在任何你不需要navBar的控制器中完成它,不是嗎? – 2012-07-21 17:49:13

+0

是的,只有一行代碼 – DGund 2012-07-21 17:56:10