viewWillAppear не запускается из UITabBarController в 4.3, но отлично работает в 5.0 - PullRequest
1 голос
/ 14 декабря 2011

Да, я знаю, что не очень хорошая идея вызывать UITabBarController через

[self presentModalViewController: animated];

У меня есть пользовательский UITabBarController со скрытым оригинальным TabBar и мой собственный TabBar. Я использую этот контроллер для выбора, например, песни, как в iTunes - по певцу, по альбому, чем-то другим. Затем, когда пользователь выбирает одну из вкладок, я закрываю этот контроллер модального представления и возвращаюсь к основному виду.

Я начал разрабатывать это с симулятором iOS5, и все было в порядке - viewWillAppear был запущен во всех моих вкладках tableviewcontrollers, которые я вызывал из tabbarcontrooler [self setSelectedIndex: X];

Но затем я попытался запустить свой код в имитаторе и устройстве 4.3 и обнаружил, что viewWillAppear вообще не запускается на моих вкладках.

Как я могу это исправить? ТНХ

Обновление: Я использую [self presentModalViewController: animated]; для вызова нового UIViewController *controller, где я запускаю UITabBarController и размещаю его представление как подпредставление. [controller.view addSubview:myTabBarController.view];

1 Ответ

0 голосов
/ 14 декабря 2011

В вашем UIViewController добавьте следующее:

- (void)viewWillAppear:(BOOL)animated {
   [super viewWillAppear:animated];
   [myTabBarController viewWillAppear:animated];
}
...