addChildViewController并将其删除

时间:2011-12-11 09:35:28

标签: iphone uiviewcontroller transition addchild

在我项目的主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呢?

谢谢!

3 个答案:

答案 0 :(得分:1)

为什么不使用

 [self presentModalViewController:currentPageController  animated:YES];

当你想回来使用时

    [self dismissModalViewControllerAnimated:YES];

!!!

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

selfview controller

对我来说很好!