UIViewController 导航 - 在意外状态下完成导航转换。导航栏子视图树可能会损坏

Posted

技术标签:

【中文标题】UIViewController 导航 - 在意外状态下完成导航转换。导航栏子视图树可能会损坏【英文标题】:UIViewController navigation - Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted 【发布时间】:2014-01-12 13:07:56 【问题描述】:

在我的应用程序中,我使用导航控制器在各种视图控制器之间进行遍历。我有视图控制器 A、B、C、D 和 E。我使用 push 和 pop 来回移动。问题是当应用程序启动时,我能够毫无问题地遍历视图控制器。

在每次推送和弹出之前,我都会 NSLog 视图控制器堆栈,它与预期的一样好。但是当我再次来到根视图控制器并再次开始导航时,我得到“嵌套推送动画会导致导航栏损坏” 甚至在我 NSLog 堆栈出现错误之前,堆栈也没有问题并且符合预期。然后我收到错误“在意外状态下完成导航转换。导航栏子视图树可能已损坏。”

令人惊讶的是我无法调试,因为我不知道错误来自哪里,因为视图控制器堆栈的 NSLog 很好。请帮助我。

【问题讨论】:

补充一点,经过进一步调查,这发生在第五次 UIViewcontroller 推送中。当我在单击按钮之前 NSLog 时,我得到 A、B、C、D 并且在单击按钮后我在 UIViewcontroller 堆栈中得到 A、B、C、D、E。但奇怪的是,E 是不可见的。请帮助我。 【参考方案1】:

这篇文章帮助我-http://keighl.com/post/ios7-interactive-pop-gesture-custom-back-button/

我只是覆盖 UINavigationController。

【讨论】:

以上是关于UIViewController 导航 - 在意外状态下完成导航转换。导航栏子视图树可能会损坏的主要内容,如果未能解决你的问题,请参考以下文章

MFC 工作线程在意外关闭时未清理

是否有一个请求/验证规则会在意外输入的情况下引发错误?

在意外删除 AWS RDS 二进制日志后恢复 Debezium MySQL 连接器

窗口“捕获”应用程序在意外终止时允许捕获的窗口消失,我该如何预防/解决此问题?

七UIViewController导航栏

无法从 UIViewController 导航到 UICollectionViewController