1

在我项目的主 ViewController 中,一旦应用程序的用户单击“开始”按钮,我将下一个视图添加到屏幕:

UIViewController *nextController = [[GamePlayViewController alloc] initWithNibName:@"GamePlayView" bundle:nil];
[self addChildViewController:nextController];
[self.view addSubview:nextController.view];

现在,当用户想要点击返回主菜单时,运行正确的代码是什么?

我知道我可以从一个 viewController 转换到另一个 viewController,如下所示:

[self transitionFromViewController:currentPageController 
                      toViewController:nextController 
                              duration:0 
                               options:UIViewAnimationOptionTransitionCurlDown
                            animations:nil 
                            completion:^(BOOL finished) { [nextController didMoveToParentViewController:self]; }];

但是如果我只想转换回项目的主 ViewController 怎么办?

谢谢!

4

3 回答 3

1

你为什么不直接使用

 [self presentModalViewController:currentPageController  animated:YES];

当你想回来使用

    [self dismissModalViewControllerAnimated:YES];

!!!

于 2011-12-11T11:26:02.723 回答
0

你为什么要重新发明轮子?
只需使用导航控制器并推送第二个视图控制器。
或者,如果在您的情况下不适合使用导航控制器,那么您可以将第二个视图控制器作为模态视图打开并在完成后将其关闭...

于 2011-12-11T09:50:58.100 回答
0

您可以使用以下代码执行此操作:

[self willMoveToParentViewController:nil];
[self.view removeFromSuperview];
[self removeFromParentViewController];

selfview controller.

对我很好!

于 2016-11-07T14:17:05.327 回答