簡體   English   中英

在沒有NavigationController的情況下展開到特定的ViewController

[英]Unwind To Specific ViewController Without NavigationController

我試圖在不使用navigationController的情況下展開到特定的viewController。 例如,我有一系列用戶需要回答的問題。 根據他們的答案,他們要么需要解開根控制器,要么是第一個問題。 我知道如何將它們導航到根控制器,我只是不知道如何返回到任何其他特定控制器。 我的理解是,如果我要使用segue從viewController 4-> 2進入,它將使用更多的內存,並且堆棧最終可能像1-> 2-> 3-> 4-> 2等...

任何建議將不勝感激。

您可以使用以下方法來一次彈出所需的視圖。

+ (void)popBackWithSourceViewController:(UIViewController *)viewController viewsToPop:(int) viewsToPop {            
    [viewController.navigationController popToViewController:viewController.navigationController.viewControllers[viewController.navigationController.viewControllers.count-viewsToPop-1];
}

在每個要解散的VC中,需要創建一個帶有一個參數的@IBAction函數(_ segue UIStoryboardSegue),然后在情節提要中轉到要解散的vc,並在頂部控件上單擊VC圖標和出口。 您需要選擇展開功能,然后新的序列會出現在左側VC樹中。 單擊該序列可以為您提供一個選項,就像使用常規soryboard序列將其作為ID一樣。 命名后,您可以以編程方式執行帶有標識符的segue。 您可以根據需要添加任意多個Segue。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM