2011-12-11 18 views
2

UITabBarControllerは、アプリケーションのルートです。 各タブのルートは、私がUITableViewControllerを押しているUINavigationViewControllerとは異なります。UINavigationViewControllerの前のビューに戻るには、戻るボタンを押してもアニメーションが表示されません。

問題は、戻るボタンを押すとナビゲーションバーがアニメーション化されますが、前のテーブルビューはアニメーションなしですぐに表示されることです。 UITableViewControllerとUINavigationViewControllerのどちらもサブクラス化されておらず、ポップ機能のカスタムコードもありません。

もう少し前に、他のiOSアプリケーションで作業していたとき、私はそのような問題はありませんでした。 唯一の違いは、今はXCode 4とiOS 5 SDKで作業していることです。

私は答えを見つけるのに多くの時間を費やしましたが、類似するものは見つかりませんでした。

ヒント?

答えて

2

私はしばらくこのことで苦労していました。私の場合、問題は私の誤ってviewDidAppearをオーバーライドし、私のカスタムUITabBarControllerクラスで[super viewDidAppear:animated]を呼び出さないという結果に終わりました。

私がいったんそれを取り除くと、その問題はついに消えました。

+0

お返事ありがとうございます。 私は最終的に問題を発見しました: 私は誤って自分のルートナビゲーションビューをウィンドウのサブビューに設定しました[self.window addSubview:rootController.view]; ではなく、self.window.rootViewController = rootController; 一度問題が解決したらそれを修正しました:) – Andrey

0

私はこの問題をついに発見した: 私は問題はなくなって、それを修正したら、私は窓

[self.window addSubview:rootController.view]; 

ではなく

self.window.rootViewController = rootController; 

のサブビューであることを偶然私のルートビューを設定しています: )

0

バックグラウンドスレッドでUI更新タスクを実行したり、ios 7でasyncqバックグラウンドキューをディスパッチしたりしないでください。それはメインキューにあります。

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

これはナビゲーションコントローラのアニメーション関連の問題を解決します。

関連する問題