当需要跳转到制定界面。我们登录成功一个viewContoller 并作为导航试图 所以可以使用popToRootViewControllerAnimated(退到栈底)先跳转到跟试图 然后在push到其他试图 这个理论上是没有问题的 但在实际操作过程种,页面在跳转你理想的界面以后 你再使用[self.navigationController popViweControllerAnimation: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.
2013-01-05 16:47:39.740 MandalaSocial[3144:707] Unbalanced calls to begin/end appearance transitions for .
导致这两种情况的原因那就是可能因为 pop和pus的操作太连贯 会造成navgation的动画还没有执行完毕 就开始执行下一个了
解决方案(在跳转本视图的上一试图调用方法时)
[nav popToRootViewControllerAnimated:YES];这句话的YES,改为NO
popViewControllerAnimated是逐个退
popToRootViewControllerAnimated是退到栈顶
popToViewController:animated:是退到指定位置
浙公网安备 33010602011771号