Je souhaite créer un contrôleur de barre d'onglets et de navigation par programmation. Mon code fonctionne si loin qu'il affiche une barre d'onglets en bas, mais le OptionViewController ne dit rien (pas de titre) sur le bouton de la deuxième barre d'onglets. La chose amusante est, quand je clique sur le bouton sans rien dessus, le titre apparaît (et ainsi est son point de vue), quelqu'un peut-il m'expliquer ce que je fais mal? J'ai essayé d'utiliser le code suivant:Ajout d'un TabBarController par programme
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
NSMutableArray *tabItems = [[NSMutableArray alloc] initWithCapacity:2];
DefaultViewController *dvc = [[DefaultViewController alloc] init];
UINavigationController *dvc_nc = [[UINavigationController alloc] initWithRootViewController:dvc];
[tabItems addObject:dvc_nc];
[dvc release];
[dvc_nc release];
OptionsViewController *ovc = [[OptionsViewController alloc] initWithStyle:UITableViewStyleGrouped];
UINavigationController *ovc_nc = [[UINavigationController alloc] initWithRootViewController:ovc];
[tabItems addObject:ovc_nc];
[ovc release];
[ovc_nc release];
UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = tabItems;
self.tabController = tbc;
[tabItems release];
[tbc release];
[self.window addSubview:self.tabController.view];
return YES;
}
Je pense que vous devez ajouter UINavigationController en vue de sous dans le contrôleur de la barre d'onglets avec les classes de contrôle super classe comme UINavigationController –
le problème est seulement le titre manquant, non? où définissez-vous le 'title' de votre' OptionsViewConbtroller'? Si vous ne définissez pas le titre dans votre méthode 'init', TabBarController ne lit qu'un titre vide de votre OptionsVC. Je suppose que vous définissez la propriété title dans sth. comme 'viewDidLoad'? – thomas
Je suppose que non, parce que ceci: [tbc.view addSubview: ovc_nc.view]; rend l'écran complètement vide! – Mark