1

Existe-t-il un moyen de décharger un UITabBarController lorsqu'il est retiré de la pile d'un UINavigationController, afin qu'il soit rechargé à nouveau lorsqu'il est repoussé sur la pile? J'ai besoin d'effacer toutes les données dans tous les contrôleurs de vue dans la barre d'onglets. J'ai essayé différentes méthodes d'itération à travers les contrôleurs de vue de la barre d'onglets et en réglant chacun à zéro, et en plaçant la vue de la barre d'onglets à zéro, et j'ai également essayé d'envoyer le message didReceiveMemoryWarning à chacune des vues.Comment faire pour décharger un UITabBarController lorsqu'il est sorti d'un UINavigationController?

Dans mon fichier nib principal (MainWindow.xib), j'ai un UINavigationController et un UITabBarController. Les deux sont câblés au délégué de l'application comme IBOutlets pour faciliter le chargement automatique des contrôleurs, en particulier le contrôleur de la barre d'onglets. Le contrôleur de navigation charge d'abord une autre vue en tant que vue racine, et lorsque l'utilisateur appuie sur un bouton, UITabBarController est enfoncé dans la pile UINavigationController.

Tout cela fonctionne très bien. Maintenant, je veux pouvoir retirer le UITabBarController de la pile du contrôleur nav, de manière à ce que la vue racine du contrôleur nav soit réaffichée et réinitialiser toutes les données sur toutes les vues de l'UITabBarController pendant qu'il est masqué (hors de la pile). Depuis l'un des contrôleurs de vue du contrôleur de la barre d'onglets, je peux appeler [self.tabBarController.navigationController popToRootViewController: YES] et cela fonctionne très bien. Mais comment décharger et recharger toutes les vues de l'UITabBarController?

Répondre

0

Vous devriez pouvoir réinitialiser les contrôleurs de vue et les transmettre dans la méthode setViewControllers de votre tabBarController.

Questions connexes