2016-11-28 49 views
0

這是我的視圖控制器是如何在故事板結構:如何清除導航堆棧,以便不出現後退按鈕?

navController1 -> viewController1 -> viewController2 -> viewController3 

我從viewController3viewController1一個SEGUE。所以,當用戶轉換到viewContoller1時,後退按鈕顯示在導航欄上(如預期的那樣)。不過,就我而言,我不希望用戶回到viewController3,從viewController1。我想再次從viewController1重新開始。在過渡到viewController1之後有沒有辦法清除堆棧,這樣後面的按鈕不會出現?

(注意navController1不是我的根控制器,我以前也有一些其他的控制器。)

回答

0

你有navigationController成員。它實際上是一堆推入式控制器。清除堆棧,你應該得到你想要的結果。要做到這一點,在上一個View Controller的navigationController?.viewControllers中設置一個空列表。希望這會幫助你找到解決方案。

+0

還有其他時候我需要後退按鈕來顯示在視圖controller1上。只有當我從viewcontroller3旅行時,我現在想要後退按鈕。那麼我可以在viewcontroller3的prepareForSegue方法中應用你的代碼嗎? – Prabhu

+0

當您在視圖控制器中時,您可以隨意修改堆棧。堆棧可以清空,但也可以修改(例如,如果你有4個視圖控制器,你可以刪除其中的2個)。如果你需要更復雜的情況,你應該從我的提示開始嘗試。請記住,您還有兩個導航控制器右側和左側按鈕的列表。您也可以從這些列表中添加和刪除按鈕。 – Sergiob

+0

謝謝。我怎麼能告訴viewController1,我來自viewController3?對不起,我對Swift很陌生。 – Prabhu

相關問題