0

我有一个奇怪的错误。我在标签栏控制器中有两个导航控制器。不同之处在于导航控制器#2 指向导航控制器#1 中的视图控制器,如下所示:

1a -> 1b -> 1c -> 1d

2a -> 1c -> 1d

我在情节提要中设置了它,这样只有一个 1c、1d 和 2a 的实例指向 1c 并带有一个 segue。一切都很好(一切都对正确的事情进行,并且也展开正确的事情),直到我开始旋转。当我开始切换选项卡、旋转并返回原始选项卡时,原始导航堆栈中有几个额外的视图控制器。

例如:

  1. 我从 1a 开始,点击 1b、1c、1d。
  2. 我将标签切换到 2a,单击 1c、1d。
  3. 我旋转到横向模式。
  4. 我放松到 1c,然后单击到 1d(仍在第二个选项卡中)。
  5. 我将标签切换回 1。
  6. 当我开始单击导航堆栈时,我希望只是展开 1c、1b、1a。但是,我得到了几个额外的 1c,所以我的实际放松如下:1c、1c、1c、1b、1a。

有谁知道为什么?

4

1 回答 1

0

对于任何有兴趣的人来说,结合手动和故事板segues或我无法理解的东西似乎存在一个错误。我读过这个问题:iPhone UINavigation 问题 - 嵌套推送动画可能导致导航栏损坏,但我认为它不适用,因为我没有重复的操作,或者对同一个 segue 的重复调用。但是,我确实有 2 个 segue,一个来自 tableviewcell,一个来自按钮。该按钮是一个手动模态 segue,而 tableviewcell 是来自情节提要的推动。我将手动转场更改为情节提要转场,并且错误消失了。

于 2013-06-17T06:56:48.000 回答