2012-09-05 159 views
0

我試圖用popoverviewcontroller回去到視圖控制器,但沒有任何反應。
首先,我加載第一的ViewController,在AppDelegate中,使用此代碼:popviewcontroller什麼也不做,不工作

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:self.welcomeMenu]; 
nav.navigationBarHidden = YES; 
self.window.rootViewController = nav; 
nav = nil; 

的的導航欄被隱藏,因爲我需要它以這種方式
在這個視圖控制器,我顯示一個菜單帶有按鈕,然後,展現另一個ViewController中,我使用這個代碼:

SecondViewController *secView = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil]; 

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationDuration:0.75]; 
[self.navigationController pushViewController:secView animated:NO]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; 
secView = nil; 

而且SecondViewController負載(但是旋轉不工作)...
我SecondViewController代碼中SplitViewController增加(與NavigationCon troller左側的表,而另一個NavigationController另一個右表)
然後,在SecondViewController,我加入手動按鈕回去,使用此代碼:

[self.navigationController popViewControllerAnimated:NO]; 

,但沒有發生...... 當我打印self.navigationController,輸出爲(空),所以我想這是問題,但爲什麼我的self.navigationController爲空?我需要做些什麼才能正確彈出?
如果我不隱藏的導航欄在AppDelegate中的代碼,在返回按鈕出現自動工作正常,但是當我想這樣做,手動,沒有工作...

+0

嘗試改變束:無捆綁:[一個NSBundle mainBundle] –

+0

什麼也沒有發生仍然 – user1600801

回答

2

你不能從你的SecondViewController加載拆分視圖控制器。

Split View Controllers

分割視圖控制器必須始終爲您 創建任何接口的根。換句話說,你必須安裝從 UISplitViewController對象作爲應用程序的 窗口的根視圖的視圖。然後,分割視圖界面的窗格可能包含導航控制器,標籤欄控制器或任何其他類型的視圖控制器,以實現您的界面。分割視圖 控制器無法以模態方式呈現。

+0

所以我需要刪除SecondViewController,在我的MainViewController中聲明並加載SplitViewController,並將SplitViewController添加到一個NavigationController中? – user1600801

+0

不,分割視圖控制器只能是所有其他視圖控制器的根。您不能在導航控制器中使用它。 –

+0

哦,好的。現在我明白了......我想我需要改變我的範例。非常感謝...當我從MainViewController調用SplitViewController時,更改「self.window.rootViewController」,我可以添加動畫嗎? – user1600801

0

你永遠不添加SecondViewController導航控制器的viewControllers,這就是爲什麼self.navigationController記錄爲空,所以只需使用新的控制器更新viewControllers數組。

+0

所以線[self.navigationController pushViewController:secView動畫:NO];不這樣做? – user1600801

+0

它被添加,因爲在[self.navigationController pushViewController:secView animated:NO]之後,我打印[self.navigationController.viewControllers count]並且輸出是2.仍然,我手動添加ViewController,輸出也是2.然後,當我想彈出ViewController時,輸出爲0,self.navigationController爲(null) – user1600801

+0

對不起,我正在查看popViewController消息,並沒有注意到你的推送線 - 是的,推動應該添加視圖控制器堆棧。所以,我不知道爲什麼self.navigationController記錄爲空。 – rdelmar