动画时pushViewController不工作:NO

时间:2013-05-04 15:44:55

标签: iphone ios objective-c xcode uinavigationcontroller

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

Unbalanced calls to begin/end appearance transitions

这是我(相当简单)调用它的代码:

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

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

2 个答案:

答案 0 :(得分:5)

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

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

希望它对你有所帮助。

答案 1 :(得分:0)

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];
}