popToRootViewControllerAnimated无法使用tabbar

时间:2012-07-31 00:23:15

标签: iphone objective-c ios xcode uiviewcontroller

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

基本上,我有一个主tabbar,每个标签中都有一个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,并且它不是nil。

任何想法如何回到A视图控制器?我在这个论坛上尝试了一切,但没有用。

感谢。

1 个答案:

答案 0 :(得分:0)

方法popToRootViewControllerAnimated不适用于模态视图。您需要先调用方法dismissModalViewControllerAnimated:来关闭所有模态视图。我想你需要在控制器A上调用方法来立即关闭所有模态视图。

干杯, ANKA