【发布时间】:2013-12-06 01:42:06
【问题描述】:
我有一个UINavigationController 设置为rootViewController 在一个仅限iOS7 的应用程序中的TabBarController。导航效果很好:我可以推送新视图并使用左上角的后退按钮或滑动/弹出手势向后导航。
但是,如果我将应用程序放在后台,除了导航控制器中显示的根视图之外,我会遇到这个问题:如果我使用向后滑动手势,则没有弹出动画 - 视图立即消失,我离开了与底层视图。缺少滑动动画不是什么大问题,但真正的问题是导航控制器中的标题现在关闭了。它仍然认为我在刚刚消失的视图控制器上!
例如:
我在导航控制器中的根视图将具有标题“设置” - 然后我将推送“外观” VC,使用主页按钮 - 重新打开应用程序,然后尝试向后滑动手势。这让我回到“设置”,但标题仍然显示“。现在,如果我按下另一个 VC,新 VC 上的标题会显示 “设置”,并且没有返回按钮!
只有当我使用弹出手势时才会发生这种情况 - 当我使用导航栏后退按钮时不会发生这种情况。
我试图通过将NSLog 放入 dealloc 来检查问题是否是我的 VC 被释放,但这不是问题。
我也试过放一个:
NSLog("Hierarchy: %@", [self.navigationController viewControllers]);
在两个视图中都会出现和消失,以查看导航控制器上的堆栈是否混乱 - 但这不是问题 - 堆栈是正确的。
非常感谢任何有关如何进一步调试或我可能做错的建议!这发生在我的 iPhone 和模拟器上,这让我抓狂。
【问题讨论】:
标签: ios objective-c uinavigationcontroller ios7 stack