我有一个作为ModelViewController呈现的登录 View ,在它上面有一个作为NavigationControlloer呈现的注册 View :

登录(ModelViewController)
---->注册(NavigationController)

我在Loginview上显示Register View (CreateAccount),如下所示:

createAccount= [[CreateAccount alloc] initWithNibName:@"CreateAccount" bundle:nil];

navController = [[UINavigationController alloc] initWithRootViewController:createAccount];

UIBarButtonItem *cancelButtun=[[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(HideMe)];

UIBarButtonItem *registerButtun=[[UIBarButtonItem alloc]initWithTitle:@"Register" style:UIBarButtonItemStyleBordered target:self action:@selector(Register)];

createAccount.navigationItem.leftBarButtonItem = cancelButtun;
createAccount.navigationItem.rightBarButtonItem=registerButtun;
createAccount.title=@"Create Account";

[self presentModalViewController:navController animated:YES];

登录 Controller 具有用于登录和注册的NSURLConnectionDelegate。
注册完成后,我只需致电
[self dismissModalViewControllerAnimated:YES];

这将仅关闭注册 View 。

我也想关闭登录 View ,因此我可以返回到我的主应用程序。

最佳答案

在这里查看我对类似问题的答案:Dismissing ModalViewController of ModalViewController

我在应用程序中使用的功能与您几乎相同,因此该解决方案适用于我。请确保也阅读注释,因为其中一个引用已随iOS5更改。

编辑:
为了消除在另一个模态视图上显示的模态视图,您必须在父级的父级上调用dismissModalViewControllerAnimated:。

iOS

[[[self parentViewController] parentViewController] dismissModalViewControllerAnimated:YES];

iOS 5.0+(必须将对parentViewController的所有引用更改为presentingViewController)
[[[self presentingViewController] presentingViewController] dismissModalViewControllerAnimated:YES];

10-06 06:04