码迷,mamicode.com
首页 > 其他好文 > 详细

UINavigationController出现nested push animation can result in corrupted navigation bar的错误提示

时间:2014-07-08 10:33:48      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:blog   http   2014   问题   io   代码   

今天在测试过程中,出现了这样一个bug,分别有两种情景:

(前提是:app是基于UINavigationController构建的)


1、从Controller-A中push进来B。在B中点击返回,返回的界面为黑色一片。再做返回操作就crash了。

如图1:

bubuko.com,布布扣
2、从Controller-A中push进入B,此时B中tableview出现错位现象(图2),tableview被navigationbar覆盖了一部分,在B中再push一个C进来。此时只显示了C的navigationbar,但下方的view还是保留为B的view(图3)。再进行返回操作,程序crash。

如图2:

bubuko.com,布布扣

图3:
bubuko.com,布布扣



崩溃后,查看控制台的log,发现这样一句话:
nested push animation can result in corrupted navigation bar


捣弄了好久,也找了资料,还是没办法解决。
后来在Controller-B中的viewdidload打印了navigationcontroller的所有压栈viewcontrollers,发现在B之前多了一个无关的viewcontroller-D,再检查代码。原来在点击A的cell的时候(didSelectRowAtIndexPath)push了一个D,但在storyboard上,对A的点击已经加了一个跳转到B的segue。正是由于同一时间push了两个controller进来,所以就会出现这样的警告以及后面的奇怪错误。


将A中didSelectRowAtIndexPath位置的push代码去掉,再测试。问题完全解决了。


纠缠了半天的bug,原来是一个小失误导致的。
由于整个项目是两个人一起做的,相互没沟通好或者没仔细了解好结构就盲目写代码,最终只会花费大量时间在debug上。此次教训须谨记啊。

UINavigationController出现nested push animation can result in corrupted navigation bar的错误提示,布布扣,bubuko.com

UINavigationController出现nested push animation can result in corrupted navigation bar的错误提示

标签:blog   http   2014   问题   io   代码   

原文地址:http://blog.csdn.net/sing_sing/article/details/37544987

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!