0

我对 popToRootViewControllerAnimated 有这个问题,我找不到解决方案,甚至在本网站的所有问题中都找不到。

基本上,我有一个主标签栏,每个标签中都有一个 UIViewController。在其中一个选项卡上,我有一个按钮可以移动到下一个屏幕(比如 B)。在 B 视图控制器中,我有另一个按钮可以转到下一个视图控制器,比如 C。我想要完成的是单击一下从 C 返回到 A。那是我的代码:

为了从 A 到 B,我这样做:

ExerciseNextScreen *exerciseNextScreen = [[ExerciseNextScreen alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:exerciseNextScreen animated:YES];

然后从 B 到 C,我这样做:

 ScreenOneExercise *screenOneExercise = [[ScreenOneExercise alloc] initWithNibName:nil bundle:nil];
UINavigationController *screenOneExerciseNav = [[UINavigationController alloc]initWithRootViewController:screenOneExercise];
[self presentModalViewController:screenOneExerciseNav animated:YES];    

现在,在 C 中,我在尝试返回 A 时这样做:

- (IBAction)cancelView:(id)sender
{
[self.navigationController popToRootViewControllerAnimated:YES];
}

当进入 cancelView 方法时,什么也没有发生。我在这个电话之前检查了 self.navigationController,它不是零。

有什么想法可以返回 A 视图控制器吗?我在这个论坛上尝试了所有方法,但无济于事。

谢谢。

4

1 回答 1

0

该方法popToRootViewControllerAnimated不适用于模态视图。您需要首先调用该方法dismissModalViewControllerAnimated:以关闭所有模式视图。我想您需要调用控制器 A 上的方法来一次关闭所有模式视图。

干杯,安卡

于 2012-07-31T00:35:28.030 回答