我的设置很简单,我的问题与这个没有太大不同。但是为了更好地解释它,我在这里发布了它:
NavController -> VC1 -> VC2
VC1 是 NavController 的根视图控制器。VC2 可以通过 VC1 的 Push segue 访问。
我想在 VC1 中检测是否:
它直接作为根视图控制器出现(通过 Push) 它出现是因为 VC2 被弹出
我阅读了文档,其中说以下应该告诉我以后是否属实。
isMovingToParentViewController == NO
然而事实并非如此,上述条件总是为真。这意味着 (self.isMovingToParentViewController == NO) 总是在发生。
这是我的代码:
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;
//pushed to stack
if (self.isMovingToParentViewController == YES)
{
//First time
}
else
//popped off
{
//via Pop from VC2
}
}
viewDidAppear 也是如此。
事实上,我在开始时设置了断点,并检查了以下所有情况是否都是 FALSE,在这两种情况下:
([self isMovingFromParentViewController])
([self isMovingToParentViewController])
([self isBeingPresented])
([self isBeingDismissed])
怎么了?我的故事板有什么我搞砸的吗?请帮忙...