Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 跳回并在顶部VC下显示超过2层的VC_Iphone_Objective C - Fatal编程技术网

Iphone 跳回并在顶部VC下显示超过2层的VC

Iphone 跳回并在顶部VC下显示超过2层的VC,iphone,objective-c,Iphone,Objective C,我有一个基本的ViewController,它是我的主菜单。 从那里我导航到另一个显示UITableVC2的VC。从这里我可以打电话 [self.parentViewController dismissModalViewControllerAnimated:是]; 返回主菜单。那很好。 如果我从VC2加载另一个显示UIWebView的VCV3,并希望跳回主菜单UVC1,如何以最佳方式实现这一点 所以我导航VC1->VC2->VC3,然后想跳转VC3->VC1 我的应用程序没有UINavigati

我有一个基本的ViewController,它是我的主菜单。 从那里我导航到另一个显示UITableVC2的VC。从这里我可以打电话 [self.parentViewController dismissModalViewControllerAnimated:是]; 返回主菜单。那很好。 如果我从VC2加载另一个显示UIWebView的VCV3,并希望跳回主菜单UVC1,如何以最佳方式实现这一点

所以我导航VC1->VC2->VC3,然后想跳转VC3->VC1

我的应用程序没有UINavigationViewController或类似的东西

非常感谢,,
-代码

您可以尝试在父vc vc2中创建一个从vc3调用的方法,该方法执行以下操作:

-(void)dismissTwo
{
  [self dismissModalViewControllerAnimated:NO];
  [self.parentViewController dismissModalViewControllerAnimated:YES];
}

这是未经测试的,但试一试。

如果您使用导航控制器,则可能会使用poptorootviewcontroller弹出到根视图控制器

但是,在您的情况下,如果您可以为VC2和VC3实现代理。在VC2中VC3的委托中,关闭VC3并调用VC1中实现的VC2的委托

基本上流程如下

创建VC1 从VC1创建VC2时,将委托分配给VC1 从VC2创建VC3时,将委托分配给VC2 从这一点开始,您可以在视图控制器之间以更干净的方式传递消息