回到UINavigationViewController中的上一个视图,当按下后退按钮时没有动画

时间:2011-12-11 09:00:21

标签: ios uinavigationcontroller popviewcontrolleranimated

UITabBarController是may应用程序中的根。 每个选项卡的根是不同的UINavigationViewController,我正在推动UITableViewController的。

问题在于,当我按下后退按钮时,导航栏会动画,但上一个表格视图会立即显示而不会显示动画。 UITableViewController和UINavigationViewController都没有子类,我没有任何自定义的pop功能代码。

前段时间,当我在使用其他iOS应用程序时,我没有遇到这样的问题。 唯一的区别是现在我正在使用XCode 4和iOS 5 SDK。

我花了很多钱找到答案,但没有找到类似的东西。

有任何线索吗?

3 个答案:

答案 0 :(得分:2)

我一直在努力解决这个问题。在我的情况下,问题最终是我意外地覆盖了viewDidAppear而没有在我的自定义UITabBarController类中调用[super viewDidAppear:animated]。

一旦我摆脱了这个问题,这个问题终于消失了。

答案 1 :(得分:0)

我终于找到了问题: 我不小心将我的根视图设置为窗口的子视图

[self.window addSubview:rootController.view];

而不是

self.window.rootViewController = rootController;

一旦我解决了问题就会消失:)

答案 2 :(得分:0)

不要在后台线程中执行任何UI更新任务或在ios 7中调度asyncq后台队列,如果你正在执行任何ui相关任务,那么在主队列中执行它.Eg。

        dispatch_async(dispatch_get_main_queue(), ^
                       {
                       //update ui
                       }

这将解决导航控制器动画相关问题。