0

我正在開發一個應用程序,使用UINavigationController鏈接的一些UIViewControllers。 UINavigationController設置爲主菜單作爲其默認視圖。主菜單有兩個按鈕,當按下時顯示其他兩個UIViewControllers之一。所以我有一個看起來像這樣一個簡單的兩層視圖層次...從模態UIViewController導航視圖層次

Main Menu (UIViewController) 
| 
---- Menu Option 1 (UIViewController) 
---- Menu Option 2 (UIViewController) 

現在,我想我的菜單選項1 UIViewController中顯示另一UIViewController中爲模態的視圖 - 它工作正常。不過,我也希望能夠直接從該模式的看法跳轉到主菜單...

Main Menu (UIViewController) <-------------- 
|           | 
---- Menu Option 1 (UIViewController)  | 
     |          | 
     ---- Modal View (UIViewController) | 

即使知道UINavigationController的是堆棧,我需要我的流行模式視圖和下一個項目我不知道如何甚至可能....

是否有一個簡單的方法來做到這一點,而不需要添加回調方法菜單選項1 UIViewController?

我很樂意就我的實施提供反饋意見 - 有些事情看起來不太合適!

回答

2

UINavigationController具有方法-popToRootViewControllerAnimated:和-popToViewController:animated:您可以使用該方法將導航堆棧彈出回特定的視圖控制器。所以,你可以有模態控制器辭退本身,然後調用

[self.navigationController popToRootViewControllerAnimated:YES]; 

這就是說,確保在做類似的東西是要有意義給用戶。導航風格的一個重要方面是用戶會記住他們是如何到達應用程序中的某個特定點的,他們希望能夠通過這些相同的控制器返回。如果它適用於您的應用程序,但是,-popToRootViewControllerAnimated:是實現它的方式。