Pregunta

Necesito abrir programáticamente una pestaña determinada en mi barra de pestañas.

Intenté llamar al siguiente método desde mi UITabBarController:

self.selectedViewController = myVController;

Lo que no funciona.

¿Cuál es la forma correcta de abrir una pestaña?

Gracias.

Actualización: probé el siguiente código:

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];

que me abre una pestaña deseable (se está seleccionando), pero la vista activa no se está actualizando.

¿Fue útil?

Solución

Con respecto a la propiedad selectedIndex , los documentos de Apple dicen:

  

En versiones de iPhone OS anteriores a   versión 3.0, esta propiedad refleja   el índice del elemento de la barra de pestañas seleccionado   solamente. Intentando establecer este valor en   un índice de un controlador de vista que es   no visible en la barra de pestañas, pero es   En su lugar gestionado por la navegación Más   controlador, no tiene efecto.

Quizás este fue tu problema?

Una posible solución es usar su propio UITabBar y manejar sus propias vistas. Entonces puedes hacer algo como esto:

[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];

Simplemente implemente UITabBarDelegate y defina esta función para obtener mensajes de selección de elementos y cambiar manualmente las vistas. (Aunque si está utilizando las funciones avanzadas UITabBarController , puede que no valga la pena su esfuerzo).

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{

}

Otros consejos

La forma en que lo he hecho es usar self.tabBarController.selectedIndex = 1 (la primera pestaña está en el índice 0).

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