1

UINabigationControllerのスタックからポップされたときにUITabBarControllerをアンロードする方法はありますか?スタックにプッシュバックされたときに新しくリロードされるようにしますか?私はタブバーのすべてのビューコントローラのすべてのデータをクリアする必要があります。UINavigationControllerをポップしたときにUITabBarControllerをアンロードする方法はありますか?

私は、タブバーのビューコントローラを使ってさまざまな方法を試してみました。それぞれをnilに設定し、タブバーの表示をnilに設定しました。また、それぞれのビューにdidReceiveMemoryWarningメッセージを送信しました。

メインのnibファイル(MainWindow.xib)には、UINavigationControllerとUITabBarControllerがあります。両方ともIBOutletsとしてアプリケーションデリゲートに接続されており、コントローラ、特にタブバーコントローラを自動的にロードするのを容易にします。

ナビゲーションコントローラは、まず別のビューをルートビューとしてロードし、ユーザーがボタンをタップすると、UITabBarControllerがUINavigationControllerスタックにプッシュされます。

これはすべて問題なく動作します。

ここで、navコントローラのスタックからUITabBarControllerをポップできるようにしたいので、navコントローラのルートビューが再表示され、隠されている間にUITabBarControllerのすべてのビューのすべてのデータがリセットされます。 (スタックから外す)。

タブバーコントローラのビューコントローラの1つから、[self.tabBarController.navigationController popToRootViewController:YES]を呼び出すことができ、それは問題なく動作します。

しかし、UITabBarControllerのビューをすべてアンロードして再読み込みするにはどうすればよいですか?

答えて

0

ビューコントローラを再初期化し、tabBarControllerのsetViewControllers:メソッドに渡すことができるはずです。

関連する問題