popViewController/viewWillAppear在iOS 5中没有动画

Han*_*nes 5 iphone uinavigationbar popviewcontroller viewwillappear ios5

搜索这个我没有幸运,所以我们走了;)

我有一个UIViewController定制UINavigationBar,推动另一个UIViewController作为子视图.

除非单击子视图上的后退按钮,否则一切正常.预览(第一个)视图正确显示,但不是动画.动画UINavigationBar是正确的,只有视图立即切换.

使用for 调用- (void)viewWillAppear:(BOOL)animated第一个函数.这只发生在我使用iOS 5进行测试时,而不是使用iOS 4进行测试.UIViewControllerNOanimated

有谁知道如何解决这一问题?

谢谢你的帮助!汉纳斯

更新1

我刚刚删除了所有自定义代码并且只使用了普通代码UINavigationBar(所以没有额外的设置),它仍然不适用于iOS 5.这是我在第一个ViewController中用来推送第二个ViewController的代码:

[self.navigationController pushViewController:secondViewController animated:YES];

正如我已经提到的 - 当我在第二个视图的导航栏中单击后退按钮时,第一个视图立即显示而没有动画.

任何帮助,将不胜感激!谢谢!

更新2

我觉得我越来越接近这个问题,但仍然没有解决方案:

我只是添加了一个UINavigationController我打电话的自定义[super popViewControllerAnimated:animated].正确调用此get(动画为YES),但viewWillAppear第一个UIViewController获取NO作为动画的值...

小智 6

我今天遇到了类似的问题,除了标准和标准之外UIViewController没有进入.viewWillAppearUINavigationBarUINavigationController

事实证明,这是由于手动调用viewWillAppear:YES它不应该的地方.这个项目暗示它也可能是由super某个地方调用错误的方法引起的(例如,[super viewWillAppear:animated]而不是在[super viewDidAppear:animated]内部viewDidAppear).

至于使用自定义UINavigationBar,我今天遇到了这个链接,可能有助于你的案例:http://sloshire1.posterous.com/simple-fix-for-viewwillappear-in-ios5

  • 哦,天哪,谢谢你!我真的很疯狂!我刚刚发现我的自定义`UITabBarController`的`viewDidAppear`中有一个``super viewWillAppear]`.再次感谢! (2认同)