我在我的应用程序中使用Storyboard,其中有一个主页面,用户可以从中进入工具页面,从工具页面到SubTools页面,即
Main-->Tools-->SubTools
所有segue都是使用Push
执行的。
现在我有一个主页按钮,将用户带到主页面。我正在使用
[self.navigationController popToRootViewControllerAnimated:YES];
弹出到根视图控制器。这在ios7
中运行正常但是当我尝试在ios8
中使用它时,这并没有做任何事情所以我将其更改为
[self.parentViewController.navigationController popToRootViewControllerAnimated:YES];
现在使用它的问题是,当从SubTools页面调用它时,不是跳转到Main页面,而是跳转到Tools页面。
我检查了popToRootViewControllerAnimated
中ios7
中返回的数组的大小,其中ios8
为2,这是正确的,因为堆栈中有Main页面和Tools页面,但是{{1}数组的大小为1。
还有其他人遇到过这个问题吗?
答案 0 :(得分:0)
在尝试了一下之后,我使用了一个循环来迭代控制器,如下所示
NSArray *controllers= [self.parentViewController.navigationController popToRootViewControllerAnimated:YES];
do
{
controllers = [((UIViewController *)[controllers objectAtIndex:0]).parentViewController.navigationController popToRootViewControllerAnimated:YES];
}while(controllers.count>0);