这是我打电话回到rootViewController
的{{1}}的简单代码:
UINavigationController
但后退导航逐一发生
假设我有3个viewControllers - A,B,C 。
A - > B - > ç
在C背面我想要的是:
C - > A
但是在使用popToRootViewControllerAnimated时,这就是后退导航的显示方式:
C - > B - > A
答案 0 :(得分:0)
尝试使用
[self.navigationController popToViewController:VC animated:YES]
而不是
[self.navigationController popToRootViewControllerAnimated:YES]
将其包装在一个类别中并添加您的逻辑以使其更加模块化。您可以跳转到任何视图控制器。
另一种做法是调整popToRootViewControllerAnimated
,我认为你绝对应该避免,因为这是一种非常适用的通用方法。你可以用你的混合行为修改它的实际行为。
答案 1 :(得分:0)
尝试实现应该发生的事情
-(void)viewWillDisappear:(BOOL)animated
{
[self.navigationController popToRootViewControllerAnimated:YES];
[super viewWillDisappear:animated];
}
第一次调用 viewWillDisappear 方法。将首先执行。执行此操作后您当前的视图是" B "。然后执行" [self.navigationController popToRootViewControllerAnimated:YES] " 所以。您将看到 A< -B (视图A从B支持)
所以,你会看到所有 A< -B< -C 。
要解决此问题,请尝试在 viewWillDisappear 方法
之外执行 popToRootViewControllerAnimated 方法