2014-01-24 121 views
0

我有一個應用程序通過一系列視圖控制器運行。我們會像這個圖是:從Storyboard ViewController回到以前使用的.xib ViewController

IntroViewController -> MenuViewController -> Test1StoryBoard 
              -> Test2ViewController 
              -> Test3ViewController 

那裏有一個介紹屏幕,在彈出菜單屏幕,您可以選擇的Test1,Test2的,或者Test3的。然而,由於這是一個由幾個人製作的相當大的應用程序,因此我將Test 1作爲故事板,其餘的都是.xibs。在Test1的結束,我想回去MenuViewController,所以我用:

mVC = [[MenuViewController alloc] init]; 
self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentViewController:mVC animated:YES completion:nil]; 

這段代碼成功地將用戶回MenuViewController。但是,一旦我們回到MenuViewController中,通常會將用戶帶回到Test1,Test2或Test3的按鈕不起作用。沒有錯誤消息,但點擊時沒有任何事情發生。我明白這個問題有點含糊,如果有必要,可以提供更多的代碼,但是誰能澄清問題的癥結所在?

+1

當您從Test1切換到MenuVC時,請勿再次創建新的視圖控制器。或者調用'dismissViewControllerAnimated:completion:'或者調用'popViewControllerAnimated:'方法,這取決於你用來展示Test1或Test2或Test3的內容。另外,你可以發佈你從MenuViewController實例化Test1,test2和test3的方式的代碼。 – user1190882

+0

@ user1190882,你應該重新發表你的評論作爲答案。這是正確的答案,然後OP應該接受它。對於OP,使用alloc/init創建menuViewController的新副本。現在你有2個,一個是以前設置的,一個是全新的,可能配置不正確,但現在堆疊在其他視圖控制器之上。這是一團糟。 –

+0

好的@DuncanC。發佈它作爲答案。 :) – user1190882

回答

0

當你從Test1的去MenuVC,不要再創建新的視圖控制器。無論是叫dismissViewControllerAnimated:completion:或致電popViewControllerAnimated:方法取決於你曾用來展示的Test1 Test2的或者或Test3的是分別要麼presentViewController:animated:completion:pushViewController:animated什麼。

相關問題