Frage

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
}
War es hilfreich?

Lösung

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

Andere Tipps

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]);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top