こんにちは 通常、Tabbar-Navigationbar の組み合わせを持つ UINavigation Hirarchy にいて、Tabbar 項目を押すと、rootviewControler に戻ります。
このイベントを取得する必要があります->アクティブになっている場合はタブバー項目を押します。これはどういうわけかそのイベントをキャッチすることは可能ですか?
よろしくお願いします
わかった:
//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];
}
}
View Controller を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
}
}