tab item bar ios uibutton uitabbarcontroller tabbar segue

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]; }

}