我有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视图控制器?我在这个论坛上尝试了一切,但没有用。
感谢。
答案 0 :(得分:0)
方法popToRootViewControllerAnimated
不适用于模态视图。您需要先调用方法dismissModalViewControllerAnimated:
来关闭所有模态视图。我想你需要在控制器A上调用方法来立即关闭所有模态视图。
干杯, ANKA