目前,我正尝试通过以下代码以编程方式触发'didSelectViewController'方法:
self.tabController.selectedViewController
= [self.tabController.viewControllers objectAtIndex:NEWSTAB_INDEX];
然而,没有调用'didSelectViewController'方法。如何在不必手动选择标签栏的情况下触发方法?
答案 0 :(得分:16)
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
答案 1 :(得分:0)
对于swift 3.0 您可以通过编程方式调用tabbar委托方法,如下所示
self.tabController.selectedIndex = index (e.g. 0,1...etc)
self.tabController.delegate.tabBarController(self.tabController, didSelectViewController: self.tabController.viewControllers[index])