2

我有一個UISplitViewController,它包含左側的UINavigationController和右側的另一個自定義VC。左邊就像一個過濾系統,所以視圖會被壓入/彈出。右側顯示實際的細節。在SplitViewController中彈出一個ViewController

我已經子類UISplitViewController和UINavigationController。

我有這些在IB中設置,第三個VC作爲Nav Controller的rootViewController(包含菜單選項列表)。在我的子類UISplitViewController的viewDidLoad,我做

splitNavVc = [self.viewControllers objectAtIndex:0]; // get reference to nav controller for navigation 
    [self.splitNavVc pushViewController:recipeTable animated:true]; // push the first level view on by default. As though the user had selected an item from the menu controller at the nav controller's root. 

這工作得很好,卜當我來到彈出頂級VC再次顯示在根菜單:

[self.splitNavVc popViewControllerAnimated:true]; 

的轉變是不是在左側窗格中左 - >右,而是整個splitViewController的頂部 - >底部過渡。奇怪的是,雖然全屏轉換,但我的splitViewController的右側實際上並沒有改變。

就好像有些東西沒有連接在某個地方。

回答

1

最終通過使用popToRootViewControllerAnimated來解決。

我將導航控制器連接到它的根控制器,然後在我的故事板中爲兩個「向下鑽取」視圖創建Segues。在我用performSegueWithIdentifier推視圖控制器,並彈出它關閉,我再次使用

[self.menuVc.navigationController popToRootViewControllerAnimated:true]; // menuVc is the rootViewController in this case

+0

感謝分享此。最有用的。 +1 – 2014-01-13 04:33:00

相關問題