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

当接受到推送通知时,需要要求跳转到指定的页面。我们登录成功后只有一个viewcontroller,并且为导航视图。所以可以,使用 popToRootViewControllerAnimated 先跳转到根视图,然后在从根视图push到其他视图。

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

[self.navigationController popViewControllerAnimated:YES];

的时候会出现多出一个 navigation bar,但这个bar并不是你想要的那样。是平白无故多出一个,但是在你打印堆栈的时候你发现堆栈中进出栈并没有错。还有一种情况,那就是控制台打印出如下的错误信息:
nested push animation can result in corrupted navigation bar

Finishing 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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值