您好 通常,如果您使用Tabbar-Navigationbar Combination进行UINavigation Hirarchy,并按Tabbar项目,您将返回rootviewControler。
我需要举办此活动 - >如果激活了tabbar项,则按下它。这有可能捕获那个事件吗?
最好的问候
答案 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
}
}