4thSpace
4thSpace

Reputation: 44310

How to know tabbar tab was pressed?

I have a tabbar based app. In the app delegate, I've implemented:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
    if([viewController isKindOfClass:[TabBNavigationController class]]){
    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
    [nc postNotificationName:@"TabBClicked" 
    object:self userInfo:nil];}

and fire off a notification. ViewB is displayed when tabB is pressed. ViewB is inside a UINavigationController. The problem is ViewB's viewWillAppear fires before the above event. I need to know TabB was clicked before ViewB's viewWillAppear fires. Is there another way to get in front of viewWillAppear in this case?

Upvotes: 1

Views: 299

Answers (1)

cem
cem

Reputation: 3321

Did you try tabBarController:shouldSelectViewController:, this method should be called before any view gets visible.

Upvotes: 2

Related Questions