2014-02-13 49 views
3

我在我的應用程序中使用導航控制器。除了在一個控制器中,大多數情況下,所有控制器的導航欄隱藏。當我從那個控制器彈出時,導航欄顯示很奇怪,關於導航欄的底部空間被留下。另外,當我開始編輯或做一些選擇或其他事情時,導航欄變得正常,空白空間被刪除,但它仍然存在,直到我什麼也沒做。我使用的Xcode 5,而這些發生在iOS中5沒有測試鑑於雙方的iOS 6和iOS 7沒有消失,該控制器我Xcode 5中的導航欄問題

self.navigationController.navigationBar.hidden = FALSE; 
[self.navigationController setNavigationBarHidden:NO]; 

同樣鑑於將出現在其他控制器的我寫的

self.navigationController.navigationBar.hidden = FALSE; 
[self.navigationController setNavigationBarHidden:NO]; 

在這兩個視圖自動佈局是錯誤的,因爲我需要在不同的條件下動態地改變框架。請幫忙。

+2

你嘗試添加[self.navigationController setNavigationBarHidden:NO];在viewWill中將顯示控制器與隱藏的導航欄一起顯示? –

+0

是的寫在兩個視圖將消失和看法確實消失 – Dhara

回答

3

使用下面的代碼。

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

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

改用willAppear/Disappear代替。

+0

沒有底部空間仍然 – Dhara

0

在我的情況下,我通過設置導航欄視圖的背景顏色刪除了該空白區域。像

[[[self navigationController] view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];