我正在開發一個應用程序,作爲第一個viewcontroller有一個UIViewController。 該控制器推動包含其他控制器的NavigationViewController。 現在我需要彈出NavigationController的RootViewController以回到最初的UIViewController。 我試圖與流行RootViewController
[self dismissViewControllerAnimated:YES completion:nil];
和應用程序崩潰( 「Tread1:EXC_BAD_ACCESS(碼= 1,地址= ......)」)。 我試過
[self.navigationController popViewControllerAnimated:YES];
沒有任何反應。
最初的UIViewController調用
[self performSegueWithIdentifier:@"MyIdentifier" sender:self];
在UIBuilder的SEGUE的類型是 「顯示(例如推送)」
然後,我有一個包含RootViewController的和其他的ViewController一個NavigationViewcontroller。 我想要實現的是從RootViewController返回到第一個viewcontroller(navigationcontroller之外的那個)。所以我應該有導航控制器那裏。
我錯過了什麼?
原因沒有任何反應是,'self',誰就是沒有'navigationController'。您正在與錯誤的視圖控制器通話。這裏的問題在於,你需要將整個視圖控制器的「堆棧」放到正確的位置;您將需要多個命令,可能...不幸的是,您的問題沒有描述您的實際全套視圖控制器,因此無法進一步提供幫助。 – matt 2014-11-06 14:50:42
我認爲你需要看看你的視圖控制器層次結構。 UIViewController如何在沒有導航控制器的情況下「推」UINavigationController?將UINavigationController作爲模態控制器顯示會更好。 – Erik 2014-11-06 14:51:02
你可以試試,[self.navigationController popToRootViewControllerAnimated:YES]; – JScarry 2014-11-06 14:52:38