2014-01-24 80 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什么。

相关问题