Frage

Ich habe einen uitabbarcontroller wie folgt erstellt:

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 = Controller; [TBC -Veröffentlichung];

Problem: Ich sehe unten eine schwarze Tab -Bar und einen weißen Inhaltsbereich. Der erste Ansichtsregler im Array hat eine rote Hintergrundfarbe. So sollte es rot erscheinen.

Die Registerkartenleiste zeigt keine Elemente, sie ist leer.

Was kann das Problem sein? Ich verwende keine NIB -Dateien ... keine Warnungen, keine Fehler, nichts für die Konsole angemeldet. Einfach leerer Tab -Leiste.

War es hilfreich?

Lösung

Fehlt dir nicht:

self.tabBarController.viewControllers = controllers;

BEARBEITEN:

Außerdem sehe ich nichts in dem eingeschlossenen Code, das so falsch ist. Dies führt mich zu der Meinung, dass etwas anderes falsch sein muss. Ein paar Optionen:

  1. Bist du sicher, dass self.tabbarController auf irgendetwas zeigt (nicht Null)?
  2. Sind Sie sicher, dass es auf denselben UitabController zeigt, den Sie sehen?
  3. Sind Sie sicher, dass die von Ihnen erstellten Controller korrekt erstellt werden? Versuchen Sie, sie unabhängig von der Tabbars mit anzuzeigen

    self.tabbarController PresentModalViewController: IVC Animated: Ja];

  4. Wird der UitabController aus einer NIB erstellt? Wenn ein NSLOG auf initWitHnibName oder wachfromnib eingestellt wird, um sicherzustellen, dass es vor Ihrem Code gerufen wird und nicht nach Ihrem Code erneut aufgerufen wird.

Beginnen Sie mit diesen, wenn keiner Anzeichen dafür zeigt, dass etwas anderes falsch ist, kann ich mir ein paar weitere Dinge vorstellen, die ich ausprobieren sollte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top