【问题标题】:UINavigationController back button not animatingUINavigationController 后退按钮没有动画
【发布时间】:2013-04-05 21:55:39
【问题描述】:

导航控制器的后退按钮动画有一个奇怪的问题:

我的应用程序有一个带有 3 个选项卡的选项卡栏控件,其中一个有一个导航控制器和两个后续视图控制器,第一个只显示主表,第二个显示详细信息,当我点击后退按钮时出现问题从细节视图控制器,而不是滑回主视图控制器,它只是弹出没有动画的视图。

我注意到,如果我先转到另一个选项卡,然后再返回此选项卡,动画将正常触发。

我已经从头开始重建了整个应用导航,但问题仍然存在,感谢任何帮助。

提前致谢!

编辑:添加了更多信息

这就是我的故事板在那个特定分支中的样子:

这是来自“Partidos Activos”视图控制器的 prepareForSegue:

#pragma mark - Segues

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([segue.identifier isEqualToString:@"PartidosEnDia"]) {
        PartidosActivosEnFecha *paf = segue.destinationViewController;
        CalendarCell *senderCell = (CalendarCell *)sender;
        paf.datos = senderCell.dataDic;
    }
}

两个 viewController viewDidLoad 方法都在方法开始时调用 super。

正如我之前所说,如果我只是点击其他选项卡然后返回到这个选项卡,“Partidos Activos En Fecha”视图控制器的滑回动画按预期工作,只有当我启动应用程序并直接转到当滑动返回动画不起作用时,这个viewController,它只是在没有动画的情况下到达调用者viewController。

希望我添加了足够的信息,如果不告诉我,我会再次添加。

【问题讨论】:

  • 我还见过其他几个类似的问题。其中至少有一个问题是没有调用 super 的 viewDidLoad 或 viewDidAppear。
  • 你的 iOS 目标/测试版本是什么?
  • 我实际上是针对 iOS 6,并且还检查了对 super 的调用 :(
  • 如果您需要更多帮助,您将不得不提供更多详细信息。您是在代码中还是在 IB 中设置了这些控制器?您是否在代码中或使用 segues 进行任何导航?

标签: ios uinavigationcontroller


【解决方案1】:

我终于找到了问题所在,我在viewDidAppear 方法中错过了对super 的调用,但在UITabBarController! 中,我只检查viewControllers 的选项卡而不是tabbarviewcontroller。 @rdelmar 是对的。

【讨论】:

  • 点击赞成/反对票下方的复选框接受答案。
  • 我的错字是我打电话给[super viewDidDisappear:animated]; 而不是 didAppear。谢谢!
  • 该死,我正要撞墙,为什么地狱动画不起作用但找到了你的答案。帮了我很多!!!
【解决方案2】:

我遇到了完全相同的问题。我的原因是我的 UITabBarController 中有一个空的 viewDidAppear:animated 方法。删除该方法后,动画再次正常工作。

【讨论】:

    【解决方案3】:

    我认为this 这就是你想要的。如果我理解,您的问题是处理导航控制器的堆栈,对吗?所以,检查那个链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多