当需要跳转到制定界面。我们登录成功一个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:是退到指定位置