ios - item - uitabbarcontroller programmatically swift 4
¿Cómo pasar de UIButton a un elemento de la barra de pestañas? (1)
Tengo una aplicación con una barra de pestañas, que contiene 5 pestañas. Decidí tener una "pantalla de inicio" en lugar de abrir la aplicación directamente en la primera pestaña. Mi pantalla de inicio contendrá un mensaje de bienvenida Y 5 botones para pasar directamente a la pestaña deseada. Ejemplo: el cuarto botón irá a la cuarta pestaña. Después de hacer clic en un botón, la pantalla de inicio nunca debería volver a verse. El modo de navegación será por la barra de pestañas.
Los botones de mi Home View Controller 5 y una referencia al Controlador de la Barra de pestañas, para hacer clic en el botón. El controlador de la barra de pestañas ( @interface TabBar : UITabBarController <UITabBarControllerDelegate>
) controla la pantalla donde comienzan las 5 pestañas. Por alguna razón, no puedo obtener [self.tabBarController setSelectedIndex:3];
trabajar. Lo puse en - (void)viewDidLoad
, pero no hace nada.
¿Alguien tiene una pista de por qué no se llama a setSelectedItem?
EDITAR : Mire ese problema:
self.tabBarController.selectedIndex = 1;
NSLog(@"%i", self.tabBarController.selectedIndex);
En tiempo de ejecución, obtengo 0 como resultado de NSLog ... ¿Por qué no funciona el setter?
Puede realizar una transición personalizada al Controlador de barra de pestañas y nombrar el segue (por ejemplo, con "yourSegueName").
Luego solo llame a UITabBarController y setSelectedIndex en la página de pestañas deseada:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"yourSegueName"]){
UITabBarController *destController = [segue destinationViewController];
[destController setSelectedIndex:3];
}
}