Mi aplicación tiene 3 elementos de barra de pestañas, cada uno asignado a un controlador de vista por separado. Mi problema es que el primer controlador es un controlador UINavigation, y tiene una profundidad de 3 niveles. No tengo ningún problema con la navegación, pero cuando hago clic en un elemento diferente de la barra de pestañas y luego cuando regreso al primer elemento de la barra de pestañas (el que tiene el controlador UINav), prefiero que vuelva a restablecerse el primer controlador en la secuencia de navegación.Restablecer UINavigationController al primer controlador cuando se hace clic en la barra de pestañas
He leído que usted tiene que hacer algo como:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
[[self navigationController] popViewControllerAnimated:NO];
}
Pero no estoy seguro de donde debería poner este método. ¿Quién es el delegado del controlador de la barra de pestañas? Está configurado en AppDelegate ... ¿debería ir allí?
Gracias.
Hmm ... eso tiene mucho sentido, pero parece que no puedo obtener el tabBar: didSelectItem: para responder (solo tengo una instrucción NSLog() allí y no aparece nada). Configuré [tabBarController setDelete: self]; pero nada aún. – rpheath
Muy bien, lo descubrí. Tuve que usar '- (void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) viewController' en su lugar. ¡Gracias! – rpheath