导航控制器 - 弹出动画故障

10

我在UINavigationController的动画方面遇到了问题。 我有一个主细节视图。在视图上有一个按钮,可以打开详细视图。 详细视图以正常的标题动画和内容滑动打开。但是当我点击返回按钮时,标题正确地进行了动画处理,详细内容消失了,并且没有进行动画处理。 这是演示问题的链接:https://www.youtube.com/watch?v=C4UApAhEhx8

我使用标准的方式打开:

AboutViewController *aboutViewController = [[AboutViewController alloc]   initWithNibName:@"AboutViewController_iPhone" bundle:nil];
[self.navigationController pushViewController:aboutViewController animated:YES];

我尝试使用代码弹出视图,而不是后退按钮,但是出现了同样的问题。


http://www.ralfebert.de/tutorials/iosdev/navigationcontroller/ - Ramz
如果它没有起作用,请发布您用于弹出视图控制器的代码。 - Ramz
[self.navigationController popViewControllerAnimated:YES]; - Yevgen
1
你在详情视图控制器的 -viewWillDisappear: 方法里有任何代码吗? - Moxy
5个回答

12

如果在代码中某处强制使用YESNO调用viewWillAppear方法的其中一个副本而不是让iOS决定,或者如果你将[super viewWillAppear:animated]viewDidAppear调用不匹配,则会出现这种情况。


1
+1 我已经寻找原因好几天了。追踪调用不匹配解决了问题。 - Jason George

1
我曾经遇到同样的问题,Miha的回答指引了我正确的方向。在我的情况下,我有一个自定义的UITabBarController,在viewDidAppear中进行了一些处理。问题是由于我的viewDidAppear中缺少[super viewDidAppear:animated];而导致的。

0

我和你有完全相同的问题,我的问题是在某个视图控制器的viewwillappear方法中设置了选定标签栏的索引,这导致导航栏出现了一些错误。

所以我只是简单地将代码移动到viewdidappear中,这样就解决了问题。

希望有一天你能看到这个,即使你可能已经解决了这个问题。所以希望这能帮助其他人。


-1
请使用以下代码返回上一个窗口: [self.navigationController pushViewController animated:YES]; 我认为这会对你有所帮助。

-2
请使用以下代码返回到上一个窗口:

[self.navigationController popViewController animated:YES];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接