1

您好 通常,如果您在带有 Tabbar-Navigationbar 组合的 UINavigation Hirarchy 中,并且您按下 Tabbar 项,您将返回到 rootviewControler。

我需要获取此事件-> 如果已激活,请按下标签栏项目。这是否有可能捕捉到该事件?

此致

4

2 回答 2

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];
    }
} 
于 2010-11-15T09:19:03.120 回答
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
    }
}
于 2010-11-05T00:10:21.617 回答