2013-02-14 147 views
6

在我的一個意見,當按下按鈕時,我打電話給另一個視圖是SplitViewController。如果通過其中一個按鈕調用SplitViewController,我有特殊對象添加到視圖中。大多數只是導航欄項目,就像取消按鈕。這個視圖可以在其他地方訪問,這些項目是不需要的,這就是爲什麼有特殊情況。導航欄消失popviewcontroller

但是,當用戶完成後,我彈出ViewController回到選定的上一個屏幕,導航欄在該屏幕上消失。我不會將它設置爲隱藏,也不會對導航欄做任何奇怪的事情。只需添加SplitViewController然後彈出。

一些代碼..

//declare the split screen VC 
SplitScreenViewController *split = [[SplitScreenViewController alloc] init]; 

//set the flag that this VC is coming from a button, so we need the extra nav bar items 
[split setIsFromButton:YES]; 
[self.navigationController pushViewController:split animated:YES]; 

現在回調僅僅是...

- (void)cancelSelectionBtnClicked 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

當視圖返回時,導航欄不見了。

有什麼想法?

編輯應該指出,這個完全相同的事情在其他地方以同樣的方式完成(據我所知)和導航欄是可見的返回。

+0

嗯,我在navbarhidden = NO中加入了,只是爲了確定,而且似乎解決了這個問題。所以酒吧顯然隱藏在某個地方。 – JMD 2013-02-14 14:59:16

回答

9

在您的ViewController的viewWillAppear中,您可以再次使您的navigationBar可見。

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

感謝您。我和OP有同樣的問題。 – Pangu 2016-02-22 01:30:50

1

我在UISplitViewController中看到了各種奇怪的導航欄行爲,在少數情況下,這是因爲控制器沒有設置爲窗口的rootViewController,而是像您設置的導航控制器那樣。

+0

這個問題實際上並不在UISplitViewController中。它顯示正常。問題出在將SplitView推到navigationController的堆棧的屏幕上。當splitView彈出時,導航欄消失。 – JMD 2013-02-14 14:51:19

+0

我明白了,但是我看到它在低於其他控制器的情況下交互性很差。蘋果公司表示,分割視圖控制器必須是根:http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/SplitViewControllers.html – 2013-02-14 15:08:15