質問

Probably a simple question, but I'm having a hellofa time finding a solution to it.

I need to find the identifier of the current tab in a tabbarcontroller and use it in a conditional to run a method.

how do I find this?

if (self.tabbarcontroller.identifier == @"My identifier") {
   // do some method
} else {
   // do the default method
}
役に立ちましたか?

解決

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
}

You can set the identifier of a ViewController in your storyboard

他のヒント

Check out the following code. Also make sure that the delegate for the UITabBar is correct pointing to the view controller, in this case FirstViewController.

**FirstViewController.h****

@interface FirstViewController : UIViewController<UITabBarDelegate>

**FirstViewController.m:**

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
    NSLog(@"%@",[item tag]);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top