2011-03-28 86 views
5

我已经阅读了关于以编程方式创建TabBar的Apple文档 - http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/TabBarControllers/TabBarControllers.html#//apple_ref/doc/uid/TP40007457-CH102-SW1。我想检测TabBar选择,所以我使用了下面的委托方法。我不知道为什么,但当我更改iPhone上的选项卡时,这些方法不会被解雇。任何人都可以提供一些关于这里发生了什么问题的想法。这将是非常有帮助的。谢谢。tabBarController:shouldSelectViewController方法不会触发

- (BOOL)tabBarController:(UITabBarController *)tbController shouldSelectViewController:(UIViewController *)viewController 
{ 
    if (viewController == [tbController.viewControllers objectAtIndex:3]) 
    { 
     // Enable all but the last tab. 
     return NO; 
    } 

    return YES; 
} 

- (void)tabBarController:(UITabBarController *)tbController didSelectViewController:(UIViewController *)viewController { 
    if (viewController == [tbController.viewControllers objectAtIndex:self.appTabs.count]) 
    { 
     //do some action 
    } 
} 
+0

你好appleFreak,我想用这个方法,但是我不知道在哪里添加这段代码。你能告诉我你在哪里添加了这个? – 2016-10-14 11:38:28

回答

13

您是否忘记在创建UITabBarController时设置委托?

someTabBarController.delegate = self; 
+0

完美...非常感谢。我不敢相信我为此花了几个小时......! – applefreak 2011-03-28 16:47:45