首页 > 其他 > 详细

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

时间:2014-07-08 10:34:05      阅读:418      评论:0      收藏:0      [点我收藏+]

今天在测试过程中,出现了这样一个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的错误提示

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!