Question

J'ai créé un UITabBarController comme ceci:

InfoViewController *iVC = [[InfoViewController alloc] init];
self.infoViewController = iVC; // retain property

UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:0];
self.infoViewController.tabBarItem = tabBarItem;





UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:myVC];
self.navigationController = nc;

UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemMostRecent tag:1];
self.navigationController.tabBarItem = tabBarItem;






UITabBarController *tbc = [[UITabBarController alloc] init];

NSArray* controllers = [NSArray arrayWithObjects:self.infoViewController, self.navigationController, nil];

self.tabBarController = tbc; // retain property!

= self.tabBarController.viewControllers contrôleurs;     [Communiqué de confirmer];

Problème: Je vois une barre noire onglet en bas et une zone de contenu blanc. Le premier contrôleur de vue dans la matrice a une couleur d'arrière-plan rouge. Donc, il devrait apparaître en rouge.

La barre d'onglets montre aucun élément, il est vide.

Que peut-être le problème? Je n'utilise des fichiers nib ... Aucun avertissement, aucune erreur, rien connecté à la console. Il suffit de vider Tab Bar.

Était-ce utile?

La solution

ne sont pas vous manque:

self.tabBarController.viewControllers = controllers;

EDIT:

Et bien autre que je ne vois rien dans le code inclus qui est ce mal, donc cela me conduit à penser que quelque chose d'autre doit être faux. A quelques options:

  1. Êtes-vous sûr des points de self.tabBarController à quoi que ce soit (non nul)?
  2. Etes-vous sûr qu'il pointe vers la même UITabController vous voyez?
  3. Êtes-vous sûr que les contrôleurs que vous créez sont créés correctement? Essayez de les afficher quel que soit le tabBar avec

    [self.tabBarController presentModalViewController: IVC animé: OUI];

  4. est le UITabController créé à partir d'un NIB? S'il est mis NSLog sur initWithNibName ou awakeFromNib pour vous assurer qu'il est appelé avant votre code, et ne pas être appelé à nouveau après votre code.

Commencez par ceux-ci si aucune aucune indication qui quelque chose ne va pas, je ne peux penser à un peu plus de choses à essayer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top