在我的应用程序中,我正在做的是:
rootViewController - > pushViewController - > pushViewController - > pushViewController - > presentModalViewController
从presentModalViewController我想直接转到rootViewController。
所以我做的是:
while(theViewController = [theObjectEnumerator nextObject ])
{
if([theViewController modalTransitionStyle] == UIModalTransitionStyleCoverVertical)
{
[self.mNavigationController popToRootViewControllerAnimated:
YES];
}
}
}else
while(theViewController = [theObjectEnumerator nextObject ])
{
if([theViewController modalTransitionStyle] == UIModalTransitionStyleCoverVertical)
{
[self.mNavigationController dismissModalViewControllerAnimated:YES];
}
}
但在这里我收到了一条消息
警告:正在进行演示或解雇时,尝试从视图控制器中解除!
此应用程序崩溃后。
我搜索了这个,但找不到对我有用的东西, 任何机构都可以解释为什么会这样吗?
答案 0 :(得分:5)
[self dismissViewControllerAnimated:YES completion:^{
[(UINavigationController *)self.presentingViewController popToRootViewControllerAnimated:YES];
}];
这段代码对我来说很好,
重要强>:
viewController
必须提供navigationController
。 (在多数情况下)
如果没有,请致电self.presentingViewController.navigationController
。