Как выгрузить UITabBarController, когда выскочил UINavigationController? - PullRequest
1 голос
/ 12 декабря 2010

Есть ли способ выгрузить UITabBarController, когда он извлекается из стека UINavigationController, чтобы он был заново загружен при возврате в стек?Мне нужно очистить все данные во всех контроллерах представления на панели вкладок.

Я пробовал различные методы итерации контроллеров представления панели вкладок и установки для каждого значения nil, а также установки панели вкладок.view to nil, и я также попытался отправить сообщение didReceiveMemoryWarning каждому из представлений.

В моем основном файле nib (MainWindow.xib) у меня есть UINavigationController и UITabBarController.Оба подключены к делегату приложения как IBOutlets, чтобы упростить автоматическую загрузку контроллеров, особенно контроллера панели вкладок.

Навигационный контроллер сначала загружает другое представление в качестве своего корневого представления, и когда пользователь нажимает кнопку,UITabBarController помещается в стек UINavigationController.

Это все работает нормально.

Теперь я хочу иметь возможность вытолкнуть UITabBarController из стека контроллера Nav, поэтому в корневом представлении контроллера Navотображается снова, и он сбрасывает все данные на всех представлениях в UITabBarController, пока он скрыт (вне стека).

С одного из контроллеров представления в контроллере панели вкладок я могу вызвать [self.tabBarController.navigationController popToRootViewController: YES], и это прекрасно работает.

Но как мне выгрузить и перезагрузить все представления UITabBarController?

1 Ответ

0 голосов
/ 13 декабря 2010

Вы должны иметь возможность повторно запустить контроллеры представления и передать их в setViewControllers вашего метода tabBarController: метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...