nested push animation can result in corrupted navigation bar问题解决

来源:互联网 发布:网络连接不稳定 编辑:程序博客网 时间:2024/06/05 14:51
当接受到推送通知时,需要要求跳转到指定的页面。我们登录成功后只有一个viewcontroller,并且为导航视图。所以可以,使用 popToRootViewControllerAnimated 先跳转到根视图,然后在从根视图push到其他视图。

这个理论上是没有问题。但是在实际操作中,页面在跳转到你理想的界面以后,你再使用 

[self.navigationController popViewControllerAnimated:YES];

的时候会出现多出一个navigation bar,但这个bar并不是你想要的那样。是平白无故多出一个,但是在你打印堆栈的时候你发现堆栈中进出栈并没有错。还有一种情况,那就是控制台打印出如下的错误信息:
nested push animation can result in corrupted navigation barFinishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.Unbalanced calls to begin/end appearance transitions for .

导致这两种情况的原因那就可能是因为,pop和push的操作太连贯,会造成navgation的动画还没执行完毕,就开始执行下一个了。

解决方案:

[self.navigationController popToRootViewControllerAnimated:YES]; // 这句话的YES,改为NO



转自:http://blog.sina.com.cn/s/blog_9d4a523e0101a0ko.html。
原创粉丝点击