Как вызвать метод "tabBarController:didSelectViewController:" программно?
В настоящее время я пытаюсь вызвать метод "didSelectViewController" программно с помощью следующего кода:
self.tabController.selectedViewController
= [self.tabController.viewControllers objectAtIndex:NEWSTAB_INDEX];
однако метод 'didSelectViewController' не вызывался. Как я могу запустить метод без необходимости вручную выбирать панель вкладок?
2 ответов
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
для swift 3.0 вы можете программно вызвать метод делегата tabbar следующим образом
self.tabController.selectedIndex = index (e.g. 0,1...etc)
self.tabController.delegate.tabBarController(self.tabController, didSelectViewController: self.tabController.viewControllers[index])