按Tab键项目处理事件(如果已激活)

时间:2010-11-04 23:30:14

标签: iphone select tabbar

您好 通常,如果您使用Tabbar-Navigationbar Combination进行UINavigation Hirarchy,并按Tabbar项目,您将返回rootviewControler。

我需要举办此活动 - >如果激活了tabbar项,则按下它。这有可能捕获那个事件吗?

最好的问候

2 个答案:

答案 0 :(得分:1)

我明白了:

    //NSLog(@"TabItem %@ tapped with tag: %d", viewController.tbItem.title, viewController.tbItem.tag);
if ([viewController.tbItem.title isEqualToString:NSLocalizedString(@"FEATURE_NEARBY", nil)]) {
    if([((MyNavigationController*)(self.selectedViewController)).visibleViewController isKindOfClass:[MyViewController class]]){
    [(MyViewController*)((MyNavigationController*)(self.selectedViewController)).visibleViewController myFunction];
    }
} 

答案 1 :(得分:0)

使您的视图控制器符合UITabBarDelegate协议并实现tabBar:didSelectItem:我通常使用可在代码中使用的标记设置UITabBarItems来决定要做什么。

@interface MyViewController : UIViewController <UITabBarDelegate> 
{
}
@end

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    enum {
        FooButton = 1,  // Presumably you set these up in IB or in code elsewhere
        BarButton,
        BazButton
    };

    switch( item.tag ) {
        case FooButton:
            [self doTheFooThing];
        break;
        // ... Other cases here
    }
}