我有三个视图控制器A
,B
和C
。
C
是目标。
从A
开始,我有一个名为showCFromA
的segue来查看控制器C
。
从B
开始,我有另一个名为showCFromB
的segue来查看控制器C
。
现在,当显示C
时(显示自B
),我点按“返回”按钮,但在此阶段,它会显示A
,而不是{{1正如我所料。
我该如何解决?
答案 0 :(得分:1)
如果堆叠中有B,则可以
popToViewController:animated:
返回要查看的特定视图控制器(B)。
如果你已经从A直接进入C而没有在B处干预,那么你就无法回到那里。相反,你应该推一个B。
如果你的B 应该在堆栈上 - 也就是说你从B到C - 那么如果你只是回去,那么B就是你最终应该去的地方。如果目前不是这种情况,您需要发布更多细节以帮助诊断问题。
现在令人困惑的是你在堆栈上实际拥有的东西。你提到在A和C,然后在B,然后到C,但你这样做的顺序(如果这是两个独立的情况)会影响结果。
答案 1 :(得分:0)
再次检查源后,我发现问题是没有正确处理导航vc堆栈。当从B推送新VC时,当调用viewWillDisapper(B)时,我添加了" popViewController"。因此,导航视图控制器阵列的计数为2(中间元素被删除)。这会产生奇怪的行为:从视图控制器C开始,我无法返回。