2014-05-25 25 views
0

使用storyboard我創建了一些4視圖控制器的流程。 我有一個UINavigation cotroller,它有一些視圖控制器作爲其根視圖。 比從根視圖我可以一路去第四視圖。刪除賽段流程

每一種與故事板製成,並具有相應的按鈕,我有control dragged下一個頁面, 並將其設置爲從小型菜單modal transition`。

現在,當我擯棄過去的觀點:

[self dismissViewControllerAnimated:YES completion:nil]; 

我到了以前的觀點,這是很好的。

現在我想刪除所有該堆棧包括導航,具有:

popToRootViewControllerAnimated: 

這是什麼都不做。

+0

因此,每個ViewController是一個在上一個之上的模式?或者你對其中一些人使用push方法嗎? –

+0

他們都模態。 – Curnelious

+0

popToRootViewController用於使用「push」方法的viewcontroller堆棧。 dasblinkenlight的答案是正確的,那就是你如何移除模態。如果你想使用popToRootViewController從navigationController控制它,你應該使用「push」而不是「modal」,這對你的情況可能是一個更好的方法。 –

回答

2

如果你想一路回到根視圖控制器,使用此代碼:

[self.view.window.rootViewController dismissViewControllerAnimated:YES completion:nil]; 

注意:如果你想從一個應用程序委託的情況下關閉所有附加視圖控制器,例如,爲了響應應用程序進入後臺,請通過NO獲取animated參數的值。

我沒有想推的原因是因爲當你把你得到的,我不希望

導航視圖控制器可以讓你hide the navigation bar如果你不上吧希望最終用戶看到它。

+0

但爲什麼popToRootViewControllerAnimated:不適合我?我有一個導航視圖控制器,有一些初始視圖作爲根視圖,比這個視圖是帶你到另一個視圖通過模態,而不是從該視圖我試圖刪除所有的導航堆棧,是你的代碼會做什麼? – Curnelious

+0

請參閱我的編輯。非常感謝 。 – Curnelious

+0

@Curnelious'popToRootViewControllerAnimated'只有當你的segues將視圖控制器推到導航視圖控制器的堆棧上時才起作用,而不是當segas以模態方式呈現視圖控制器時。用模態表示的視圖控制器,你沒有視圖控制器的堆棧,所以沒有什麼可以「彈出」。 – dasblinkenlight