Hello 通常,如果您處於具有Tabbar-Navigationbar組合的UINavigation層次結構中,並且您按TabBar項目,您將返回到rootviewControler。處理按TabBar項目時觸發的事件
我需要得到這個事件 - >按下一個tabbar項目,如果它的激活。這是否有可能捕捉到這個事件?
問候
Hello 通常,如果您處於具有Tabbar-Navigationbar組合的UINavigation層次結構中,並且您按TabBar項目,您將返回到rootviewControler。處理按TabBar項目時觸發的事件
我需要得到這個事件 - >按下一個tabbar項目,如果它的激活。這是否有可能捕捉到這個事件?
問候
讓您的視圖控制器符合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
}
}
我得到它:
//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];
}
}
我已經在這樣做。但是,如果我還沒有選擇它時按下tabbar項目,thios也會觸發。我需要觸發一個事件,當我點擊一個TabItem時,它已經被選中。如果從一個水龍頭走到另一個水龍頭,這個事件不應該觸發 – grobald 2010-11-05 11:16:42
無論您是否點擊已選擇的項目,都會觸發。也許你可以在那裏放置代碼,以忽略如果它是在一個尚未被選中的項目上的水龍頭? – zpasternack 2010-11-05 17:41:52