Objective c 看似简单的UINavigationController问题,navigationItem未正确显示

Objective c 看似简单的UINavigationController问题,navigationItem未正确显示,objective-c,ios,ios6,Objective C,Ios,Ios6,我有一个基本的UINavigationController,还有3个UIViewController 让我们把它们称为家、VC2和VC3 我有一个从Home到VC2的故事板序列,以及从VC2到VC3的故事板序列 现在。。。如果我从VC3中调用[self.navigationController popToRootViewControllerAnimated:YES],我会被带回到“家”中VC2顶部的navigationItem栏!什么 如果我只使用“后退”按钮,每个视图的顶部栏都会按预期显示na

我有一个基本的
UINavigationController
,还有3个
UIViewController

让我们把它们称为家、VC2和VC3

我有一个从
Home
VC2
的故事板序列,以及从
VC2
VC3
的故事板序列

现在。。。如果我从VC3中调用
[self.navigationController popToRootViewControllerAnimated:YES]
,我会被带回到“家”中VC2顶部的
navigationItem
栏!什么

如果我只使用“后退”按钮,每个视图的顶部栏都会按预期显示
navigationItem

有人能推荐一种替代
PoptorootViewController的方法吗?(BOOL)
,或者
popToViewController:(UIViewController*)
?两者都会导致问题发生


编辑:另外,只是为了进一步说明发生了什么:一旦我弹回到主页,VC2的navigationItem就在那里,它包含自己的标题和后退按钮-如果我点击后退按钮,顶部栏从右侧滑出,现在顶部栏是空的。同样,使用VC3:back->VC2:back按钮返回主页时不会发生这种情况。对于UIKit来说,这似乎是一件非常糟糕的事情,但也许我遗漏了一些东西。

好的,我找到了问题所在

实际上,在堆栈的底部有一个不同的视图。我正在修复别人项目中的bug,所以我对结构有点模糊

所以它更像这样:

Splash>Home>VC2>VC3


不知何故,VC3的PoptRoot将进入
主页
,而不是
飞溅
。不知怎的,
VC2
的导航条在那之后出现了。因此,在
Home
viewdide
中,我添加了
self.navigationController.viewControllers=[NSArray arraywhithobject:self]导航条问题自行解决。

好的,我找到了问题所在

实际上,在堆栈的底部有一个不同的视图。我正在修复别人项目中的bug,所以我对结构有点模糊

所以它更像这样:

Splash>Home>VC2>VC3


不知何故,VC3的PoptRoot将进入
主页
,而不是
飞溅
。不知怎的,
VC2
的导航条在那之后出现了。因此,在
Home
viewdide
中,我添加了
self.navigationController.viewControllers=[NSArray arraywhithobject:self]导航栏问题自行解决。

您能否在此处添加代码(不一定完整但足够),以便我们更好地理解问题?这通常发生在推/弹出动画中弹出时。是否有与此相关的日志消息?您需要显示导致问题的推送的代码。我正在空闲地坐在VC3上弹出,没有其他事情发生。您能在这里添加代码吗?不一定完整,但足够,以便我们更好地理解问题?这通常发生在推送/弹出动画期间。是否有与此相关的日志消息?您需要显示导致问题的推送的代码我只是在闲坐在VC3上时弹出,没有其他任何事情发生。