2013-04-05 110 views
7

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

我的应用程序有3个标签页,其中一人有两个连续的视图控制器导航控制器,一个标签栏控制,第一个只显示主表和第二个细节,当我从细节视图控制器点击后退按钮时,问题出现了,而不是滑回到主视图控制器,它只是在没有动画的情况下弹出视图。

我注意到,如果我第一次去另一个选项卡,然后再次返回到这个,动画将正常触发。

我已经从零开始重建整个应用程序导航,但问题仍然存在,任何帮助表示赞赏。

在此先感谢!

编辑:更多信息添加

这是我的故事板看起来像在那个特定的分支: enter image description here

这里的prepareForSegue从 “Partidos Activos” 视图控制器:

#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在幻灯片回放动画不起作用的时候到这个viewController,并且它只是在没有动画的情况下到达调用者viewController。

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

+2

我见过其他几个这样的问题。至少在其中一个问题是有一个viewDidLoad或viewDidAppear没有超级在他们的调用。 – rdelmar 2013-04-05 21:58:46

+0

你的iOS目标/测试版本是什么? – Undo 2013-04-05 22:56:47

+0

Im实际上是针对iOS 6的,并且还检查了超级呼叫:( – Rubs 2013-04-05 23:00:02

回答

0

我认为this这是你想要的。如果我明白,你的问题是处理导航控制器的堆栈吧?因此,请检查该链接。

9

我终于找到问题出在哪里,我在viewDidAppear方法中失去了对super的调用,但是在UITabBarController!中,我只是检查viewControllers的标签,而不是tabbarviewcontroller,@ rdelmar是正确的;)。

谢谢大家的帮助!

+0

单击上/下投票下面的复选框接受答案。 – logixologist 2013-06-30 08:38:53

+0

我的错字是我叫'[超级viewDidDisappear:动画];'而不是didAppear。谢谢! – user3099609 2015-06-19 10:55:05

5

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