2011-06-22 17 views
14

¿Existe algún método para recuperar el controlador de navegación visible actual del controlador de la barra de pestañas?Cómo obtener el controlador de navegación 'actual' del controlador de la barra de pestañas

Por ejemplo, tengo 2 tabbars en mi programa (un mando de navegación cada uno) como a continuación

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
{ 
    //Method is called when user clicks on a hyperlink in one of view controllers 
    NSDictionary *dict = [self parseQueryString:[url query]]; 
    NSString *userID = [dict objectForKey:@"id"]; 
    NSString *navconTitle = [dict objectForKey:@"navcon"]; 


    //intention is to push a view controller onto the CURRENT navigation stack 
    [navcon pushViewController:someViewController animated:YES]; 

    } 
} 

return YES; 
} 

¿Alguien puede aconsejarme cómo puedo determinar el controlador de navegación actual para que pueda empujar más viewcontrollers en él ?

Respuesta

53

Utilice la propiedad selectedViewController UITabBarControllers.

navcon = (UINavigationController*)myTabBarController.selectedViewController; 
[navcon pushViewController:someViewController animated:YES]; 
2

Creo que UITabBarController selectedViewController propiedad debería ser lo que estás buscando.

Así, a partir de un método UITabBarController: -

[self.selectedViewController pushViewController:someViewController animated:YES]; 
Cuestiones relacionadas