views:

66

answers:

1

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?

+1  A: 

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

unset