Domanda

Ho creato un UITabBarController in questo modo:

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 = controllori;     [Rilascio da confermare];

Problema: Vedo un nero barra scheda nella parte inferiore e una zona contenuto di bianco. Il primo controller vista dell'array ha un colore di sfondo rosso. Così dovrebbe apparire rosso.

la barra delle schede non mostra elementi, è vuota.

Quale può essere il problema? Io non uso i file pennino ... Nessun avviso, nessun errore, niente registrato a consolare. Basta vuoto Tab Bar.

È stato utile?

Soluzione

Non Vi manca:

self.tabBarController.viewControllers = controllers;

EDIT:

Bene a parte questo non vedo nulla nel codice incluso che è quella sbagliata, quindi questo mi porta a pensare che qualcosa deve essere sbagliato. A poche opzioni:

  1. Sei sicuro punti self.tabBarController a qualsiasi cosa (non è disponibile nil)?
  2. Sei sicuro che punta alla stessa UITabController che stai vedendo?
  3. Sei sicuro che i regolatori si stanno creando vengono creati in modo corretto? Provate la loro visualizzazione a prescindere dalla barra delle linguette con

    [self.tabBarController presentModalViewController: IVC animato: YES];

  4. È l'UITabController creato da un pennino? Se si mette un NSLog su initWithnibName o awakeFromNib per assicurarsi che sia chiamato prima il codice, e non essere chiamato di nuovo dopo il vostro codice.

Inizia con questi se nessuno mostra alcuna indicazione che qualcosa è sbagliato, mi viene in mente un paio di cose da provare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top