1

J'ai actuellement un UITabBar avec 5 écrans appelant UIViews. Cette partie fonctionne bien, mais je veux mettre dans un UINavigationController dans quelques-uns d'entre eux. J'ai trouvé quelques tutoriels qui fonctionnent bien, mais tous les implémenter dans IB et je veux éviter cela si possible.UITabBar avec UINavigationController dans le code

Je ne sais pas où implémenter UINavigationController, dois-je le faire dans l'App Delegate avec UITabBar et appeler le contrôleur de navigation à partir de UIView ou dois-je le créer dans la classe UIView?

J'ai essayé environ 8 manières différentes et finit toujours avec soit la Navbar ne fonctionnant pas, aucune barre de navigation du tout ou l'application se plantant.

Actuellement je créer la barre d'onglets comme ceci:

tabBarController = [[UITabBarController alloc] init]; 
ScreenA *screenA = [[ScreenA alloc] initWithNibName:@"ScreenA" bundle:nil]; 
//more here 
tabBarController.viewControllers = [NSArray arrayWithObjects:screenA, ...., nil]; 
[window addSubview:tabBarController.view]; 

Et dans le initWithNibName j'ai ceci:

self.title = @"Screen A"; 
self.tabBarItem.image = [UIImage imageNamed:@"someImage.png"]; 

Répondre

5

Ok, faire comme ça ...

 
    tabBarController = [[UITabBarController alloc] init];

searchTableViewController = [[SearchTableViewController alloc] init]; 
    UINavigationController *searchTableNavController = [[[UINavigationController alloc] initWithRootViewController:searchTableViewController] autorelease]; 
[searchTableViewController release];                

searchMapViewController = [[SearchMapViewController alloc] init]; 
UINavigationController *mapTableNavController = [[[UINavigationController alloc] initWithRootViewController:searchMapViewController] autorelease]; 
[searchMapViewController release];              


tabBarController.viewControllers = [NSArray arrayWithObjects:searchTableNavController, mapTableNavController, nil]; 

+0

Ce qui est ennuyeux à ce sujet est je devrais le savoir, je l'ai utilisé dans une autre de mes applications :(* facepalm * – Rudiger

+0

@Andiih: de cette façon, je ne réussis pas à nommer la barre de navigation d'un nd l'élément de la barre d'onglets avec deux noms différents. Y-a-t-il un moyen de faire ça? – Sefran

Questions connexes