Как вызвать метод "tabBarController: didSelectViewController:" программно? - PullRequest
6 голосов
/ 17 сентября 2011

В настоящее время я пытаюсь вызвать метод didSelectViewController программно с помощью следующего кода:

self.tabController.selectedViewController 
        = [self.tabController.viewControllers objectAtIndex:NEWSTAB_INDEX];

Однако метод didSelectViewController не был вызван. Как я могу вызвать метод без необходимости вручную выбирать панель вкладок?

Ответы [ 2 ]

16 голосов
/ 17 сентября 2011
self.tabController.selectedIndex = NEWSTAB_INDEX;   // to actually switch to the controller (your code would work as well) - not sure if this does or not send the didSelectViewController: message to the delegate
[self.tabController.delegate tabBarController:self.tabController didSelectViewController:[self.tabController.viewControllers objectAtIndex:NEWSTAB_INDEX]];  // send didSelectViewController to the tabBarController delegate
0 голосов
/ 02 января 2017

для swift 3.0 вы можете программно вызывать метод делегата на вкладке, как этот

self.tabController.selectedIndex = index (e.g. 0,1...etc)
self.tabController.delegate.tabBarController(self.tabController, didSelectViewController: self.tabController.viewControllers[index])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...