2012-08-07 32 views
0

可能是一个简单的问题,但我有一个hellofa时间找到解决方案。获取当前标签的标识符 - iphone

我需要在tabbarcontroller中找到当前选项卡的标识符,并在条件中使用它来运行方法。

我该如何找到?

if (self.tabbarcontroller.identifier == @"My identifier") { 
    // do some method 
} else { 
    // do the default method 
} 
+0

通过识别你的意思是TabBarItem标识符可以“更多”,“精选”,“顶级”等 – azamsharp 2012-08-07 20:24:15

+0

正确,视图底部的标签栏。 – Troy 2012-08-07 20:31:08

+0

是否有任何理由对标识符感兴趣,而不是所选标签栏项目的标签? – azamsharp 2012-08-07 20:35:58

回答

1
UIWindow *window = [[UIApplication sharedApplication] keyWindow]; 
UITabBarController *tabBarController = (UITabBarController*) window.rootViewController; 
UIViewController *selectedVC = tabBarController.selectedViewController; 
if ([selectedVC.identifier isEqualToString:@"anIdentifier"]) 
{ 
    // Do something 
} else { 
    // Do something else 
} 

您可以设置一个视图控制器的标识符在你的故事板

0

看看下面的代码。还要确保UITabBar的委托指向视图控制器,在本例中为FirstViewController。

**FirstViewController.h**** 

@interface FirstViewController : UIViewController<UITabBarDelegate> 

**FirstViewController.m:** 

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 
{ 
    NSLog(@"%@",[item tag]); 
}