Pregunta

I creó una UITabBarController como esto:

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 = controladores;     [Liberación tbc];

Problema: Veo un negro barra de pestañas en la parte inferior y un área de contenido blanco. El primer controlador de vista de la matriz tiene un color de fondo rojo. Por lo que debe aparecer de color rojo.

La barra de pestañas muestra artículos, que está vacío.

¿Cuál puede ser el problema? No consumo archivos nib ... no se advertencias, no hay errores, nada registran en la consola. Sólo vaciar la barra de pestañas.

¿Fue útil?

Solución

¿No se echa en falta:

self.tabBarController.viewControllers = controllers;

EDIT:

Bueno, aparte de eso, no veo nada en el código incluido que es que mal, así que esto me lleva a pensar que algo debe estar mal. A pocas opciones:

  1. ¿Está seguro self.tabBarController puntos a cualquier cosa (no es cero)?
  2. ¿Está seguro de que está apuntando a la misma UITabController que se está viendo?
  3. ¿Está seguro de que los controladores que está creando se crean correctamente? Intentar que aparezca ellos, independientemente de la barra de pestañas con

    [self.tabBarController presentModalViewController: iVC animado: YES];

  4. Es la UITabController creado a partir de una ONI? Si se pone un NSLog en initWithNibName o awakeFromNib para asegurarse de que se llama antes de su código, y no ser llamado de nuevo después de su código.

Comience con estos si no muestra ningún indicio de que algo está mal, se me ocurren unas cuantas cosas para probar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top