Ios 使用PushView控制器和Popviewcontroller会使应用程序崩溃

Ios 使用PushView控制器和Popviewcontroller会使应用程序崩溃,ios,uiviewcontroller,pushviewcontroller,popviewcontroller,Ios,Uiviewcontroller,Pushviewcontroller,Popviewcontroller,在我的应用程序中,我使用推送和弹出视图控制器在UIViewControls之间导航。我有一个UIViewcontroller A和UIViewcontroller B。当我单击UIViewcontroller A中的按钮并使用以下代码时 UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; UIViewController *viewController = [storybord insta

在我的应用程序中,我使用推送和弹出视图控制器在UIViewControls之间导航。我有一个UIViewcontroller A和UIViewcontroller B。当我单击UIViewcontroller A中的按钮并使用以下代码时

UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [storybord instantiateViewControllerWithIdentifier:@"editmessage"];
[self.navigationController pushViewController:viewController animated:YES];
我可以导航到UIViewController B。在B中,单击后我有一个取消按钮,需要返回a。我使用的代码如下

NSLog(@"You did it");
[self.navigationController popViewControllerAnimated:YES];
NSLog(@"You did it again");
当我按下UIViewcontroller A中的按钮时,我能够导航到UIViewcontroller B,执行B的viewdidload方法。但我在日志文件中看到以下消息

2014-01-06 11:40:58.056 padua[5710:60b] View Did Load of editmesage controller
2014-01-06 11:40:58.231 padua[5710:60b] nested push animation can result in corrupted navigation bar
2014-01-06 11:40:58.633 padua[5710:60b] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
当我按下取消按钮时,B的viewdidload再次被执行。我不知道为什么会发生这种情况,应用程序会进入只显示空白背景图像的状态。请在下面找到日志。请告诉我哪里出了问题

代码

}

日志

014-01-06 11:40:58.795 padua[5710:60b]开始/结束外观转换的不平衡调用。
你做到了
2014-01-06 11:41:04.708 padua[5710:60b]查看editmesage控制器的加载
你又做了一次

您是否尝试过
[self.navigationController poptrootviewcontrolleranimated:是]在您的cancelMessage方法中?而不是
[self.navigationController popViewControllerAnimated:YES]谢谢。但是viewController A不是我的根视图控制器。我在堆栈中的ViewController A下面有一些其他控制器。我可以使用PoptorootViewController吗?Imaged:是的,您也可以使用它<代码>popViewControllerAnimated:
如文档中所述,还更新了导航栏和工具栏<代码>popToViewController:动画:
没有。我试过了。它转到了应用程序的根视图。我需要转到上一个视图控制器,即ViewController A。你能帮我吗。
-(IBAction)cancelMessage:(id)sender{
NSLog(@"You did it");
[self.navigationController popViewControllerAnimated:YES];
NSLog(@"You did it again");
014-01-06 11:40:58.795 padua[5710:60b] Unbalanced calls to begin/end appearance transitions for <editMessageController: 0x1900d440>.
2014-01-06 11:41:04.683 padua[5710:60b] You did it
2014-01-06 11:41:04.708 padua[5710:60b] View Did Load of editmesage controller
2014-01-06 11:41:04.769 padua[5710:60b] You did it again