Как обнаружить, что новый VC выдвинут MoreController? - PullRequest
0 голосов
/ 09 августа 2011

Я хотел бы вызывать определенный метод всякий раз, когда пользователь выбирает другую вкладку UITabBarController. Следующее работает для фактических вкладок на панели вкладок, но не для «вкладок» на контроллере «Дополнительно»:

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
     [self doSomethingWhenAnotherVCIsSelected]
}

Этот метод вызывается только тогда, когда выбрана «вкладка», включая вкладку «еще». Всякий раз, когда нажимается другой VC на вкладке «more», это не вызывается.

Существует ли какой-либо стандартный механизм уведомлений, который можно использовать для определения, был ли выбран VC на вкладке "еще"?

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Вызовите метод в -viewWillAppear viewController.

0 голосов
/ 11 августа 2011

Найден следующий обходной путь:

// subclass of UITabBarController
- (void)viewDidLoad
{
    moreDelegate=self.moreNavigationController.delegate;
    self.moreNavigationController.delegate=self;
    ...
}

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [moreDelegate navigationController:navigationController willShowViewController:viewController animated:animated];
}

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [moreDelegate navigationController:navigationController didShowViewController:viewController animated:animated];
    [self tabBarController:self didSelectViewController:viewController];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...