回到第一个viewController并从他的子viewController启动firstVIewController的一个函数

时间:2012-08-19 14:07:15

标签: objective-c uiviewcontroller navigation

我从一个启动ViewControllerA的WebView插件(myPluginj)运行。从那个viewControllerA我转到viewControllerB然后转到viewControllerC。

现在我尝试在viewControlerC中选择一些东西(在tableView中)回到起始位置(定义ViewController1的位置)并在那里启动一个函数myFUNC,使dismissModalViewControllerAnimated

当我第一次启动我正在使用的ViewControllerA时:

ViewControllerA *ts = [[ViewControllerA alloc] initWithNibName: @"tss" bundle:nil]; 
UINavigationController *myController = [[UINavigation alloc] initWithRootViewCOntroller:ts];
appDelegate.viewController presentModalViewController:myController animated:YES];

我应该如何从viewControllerC回来...我试过popViewControllerAnimated但它只回到一个控制器。

2 个答案:

答案 0 :(得分:1)

如果要返回根视图控制器

[self.navigationController popToRootViewControllerAnimated:YES];

如果你想回到特定视图。您可以设置堆栈的弹出值。

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];

答案 1 :(得分:1)

我想你想来ViewControllerA,如果有的话,试试dismissModelViewController为

viewControllerA | ^ viewControllerB - > viewControllerC

viewControllerA PresentModelView viewControllerB 推送 viewControllerC

因此将从viewControllerC返回到viewControllerA

你可以直接解雇ModelView viewControllerC | v viewControllerA

然后它将发布导航控制器实例,因此堆栈viewControllerB和viewControllerC中的所有视图控制器都将被释放。

相关问题