pushViewController在动画时不工作:NO

问题描述:

我不确定我的应用程序中究竟发生了什么,但是当我现在尝试更改为视图控制器时,在动画时它不起作用:否。当动画:是,它的工作原理,但显示错误:pushViewController在动画时不工作:NO

Unbalanced calls to begin/end appearance transitions 

这里是我的(很简单)代码调用它:

JViewerViewController *viewer = [[JViewerViewController alloc] init]; 
[self.navigationController pushViewController:viewer animated:NO]; 

我做了一个NSLog的导航控制器上,观众的的可见视图控制器。有趣的是,它将查看器视为可见视图控制器。

+0

您使用的标签栏控制器 – Ayush 2013-05-04 15:47:59

+1

请看看这个:http://*.com/questions/8224366/unbalanced-calls-to-begin-end-appearance-transitions-warning-when-push- a-view 可能已经解决了您的问题。 – 2013-05-04 15:48:15

+0

@Ayush不,我不是。 – Andrew 2013-05-04 15:54:26

当您在当前视图控制器完成显示之前尝试并显示新的viewcontroller时,会发生这种情况。您可以通过在viewWillAppear中导航来重现它。

基本上你试图将两个视图控制器几乎同时推入堆栈。 将一次一个推入堆栈并检查退出当前视图是否有任何需要显示的排队详细视图。

希望它可以帮助你。

+0

+1简要和很好的解释... !!!! – Kamarshad 2013-05-04 20:56:39

JViewerViewController *viewer = [[JViewerViewController alloc] init]; 
[self.navigationController pushViewController:viewer animated:NO]; 

在ViewWillAppear中调用该方法。

-(void)viewWillAppear:(BOOL)animated 
{ 
ViewerViewController *viewer = [[JViewerViewController alloc] init]; 
[self.navigationController pushViewController:viewer animated:NO]; 
}