2

UITabBarController 是可能的应用程序的根。每个选项卡的根是不同的 UINavigationViewController,我在其上推送 UITableViewController。

问题是当我按下后退按钮时,导航栏会动画,但之前的表格视图会立即出现而没有动画。UITableViewController 和 UINavigationViewController 都不是子类,我没有任何用于弹出功能的自定义代码。

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

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

有什么线索吗?

4

3 回答 3

2

我自己为此苦苦挣扎了很长一段时间。在我的情况下,问题最终是我不小心覆盖了 viewDidAppear 而没有在我的自定义 UITabBarController 类中调用 [super viewDidAppear:animated] 。

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

于 2012-02-19T01:30:11.607 回答
0

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

[self.window addSubview:rootController.view];

而不是

self.window.rootViewController = rootController;

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

于 2012-03-13T20:47:59.343 回答
0

不要在后台线程中执行任何 UI 更新任务或在 ios 7 中调度 asyncq 后台队列,如果您正在执行任何与 ui 相关的任务,请在主队列中执行。例如。

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

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

于 2014-03-20T13:27:09.020 回答