0

je propriétés de la vue fixe pas un UITabBarControllerDelegate qui pousse un nouveau contrôleur de vue quand un certain onglet est pressé:UINavigationController ne correctement lorsqu'il est poussé

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    MyView* myView = [[[MyView alloc] initWithNibName:@"MyView" bundle:nil]autorelease]; 
     if([self.tabBarController.selectedViewController.title isEqualToString:@"Friends"]){ 
     NSLog(@"Clicked Friends"); 
     myView.reloadFriends = TRUE; 
     [self.navigationController myView animated:YES]; 
    } 
} 

Cependant, si je change mon code pour définir le contrôleur de vue sélectionnée de la barre d'onglets à myView tout fonctionne, mais je ne reçois pas ma barre de navigation:

if([self.tabBarController.selectedViewController.title isEqualToString:@"Friends"]){ 
     NSLog(@"Clicked Friends"); 
     myView.reloadFriends = TRUE; 
     self.tabBarController.selectedViewController = myView; 
} 

Comment puis-je définir la propriété reloadFriends dans MyView et ont la barre de navigation en haut?

EDIT: J'ai aussi essayé le code suivant w/pas de chance:

[self.tabBarController.selectedViewController.navigationController pushViewController:myView animated:YES]; 

Répondre

0

J'ai personnellement collé au style de maintenir ma propre référence au contrôleur de navigation dans le délégué de l'application, et j'utiliser la référence du délégué de l'application au contrôleur de navigation pour pousser la nouvelle vue.

+0

je ne pense pas que je vous comprends. Pourriez-vous poster du code pour m'aider à comprendre? –

0

Résolu:

if ([viewController isKindOfClass:[UINavigationController class]]) 
{ 
      [(UINavigationController *)viewController pushViewController:myView animated:NO]; 
} 
Questions connexes