2

UITabBarController は、5 月のアプリケーションのルートです。各タブのルートは、UITableViewController をプッシュしている異なる UINavigationViewController です。

問題は、戻るボタンを押すとナビゲーション バーがアニメーション表示されるが、前のテーブル ビューがアニメーションなしですぐに表示されることです。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 に答える