【问题标题】:pushViewController not working when animated:NO动画时 pushViewController 不工作:否
【发布时间】:2013-05-04 15:44:54
【问题描述】:

我不确定我的应用到底出了什么问题,但是当我现在尝试更改为视图控制器时,它在动画时不起作用:否。动画时:YES,它可以工作但显示错误:

Unbalanced calls to begin/end appearance transitions

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

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

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

【问题讨论】:

  • 你在使用标签栏控制器吗
  • 请查看:stackoverflow.com/questions/8224366/… 可能已经解决了您的问题。
  • 你可能在 viewWillAppear 上调用 UIView 或一些类似的方法(在加载视图时)。

标签: iphone ios objective-c xcode uinavigationcontroller


【解决方案1】:

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

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

希望对你有帮助。

【讨论】:

    【解决方案2】:
    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];
    }
    

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多