2015-10-05 62 views
0

我是iOS開發新手,已經構建了一個基本應用程序來幫助我熟悉這些約定。它與下面的流程基本的遊戲:在導航控制器之外停止ViewController

主菜單 - >(模式)新的遊戲類型 - >(按Segue公司)遊戲 - >(模式)比賽結束 - >(按Segue公司)主菜單

我的問題涉及從遊戲/遊戲回到主菜單。菜單是一個ViewController,遊戲是一個單獨的ViewController,但不嵌入導航控制器。

當我在遊戲結束後將Segue返回主菜單時,Game ViewController會發生什麼?既然它不是一種模式,我不能從主菜單ViewController中解僱它,並且當用戶啓動另一個遊戲時,Push Segue到遊戲是否會創建另一個遊戲?我應該停止(以及如何)完成的遊戲視圖控制器?

我問,因爲在調試時,運行幾個遊戲後,我看到一個UITranitionView集合。我想確保我沒有泄漏任何東西並正確處理轉換...

回答

0

對於像我這樣困惑的人來說,這就是我最終做的。

正如Ankit提到的那樣,pop segue是要走的路,但是您不能將UIViewController從不存在的導航堆棧中彈出。所以要解決這個問題,我必須將我的主視圖控制器嵌入到UINavigationController中,然後通過vc將遊戲和遊戲推入導航堆棧。一旦比賽結束,我做了一次放鬆回到Main vc。

主菜單 - >(模式)的新遊戲 - >(PUSH)遊戲 - 超過>(PUSH)遊戲 - >(開卷)主要

有在Interface Builder選擇隱藏在導航欄UINavigationController就是我所做的。底線:我使用的是預設的導航堆棧,因此需要一個UINavigationController。意識到這些事情後更有意義。

0

如果您想使用正確的轉換,然後使用「主菜單 - >(模式)新遊戲類型 - >(推塞格)遊戲 - >(模態)遊戲結束 - >(POP Segue到主視圖控制器)主菜單「而不是使用」主菜單 - >(模態)新遊戲類型 - >(推塞格)遊戲 - >(模態)遊戲(Push Segue)主菜單「

+0

我的理解是,你所描述的POP segue適用於嵌入在導航控制器中的ViewControllers,但是我的ViewControllers沒有。他們應該是?這是公認的做法嗎? – SjB

相關問題