side objective hamburger custom ios xcode uialertview sidebar swrevealviewcontroller

ios - objective - slide out menu swift 4



Cómo cerrar el menú de la barra lateral manualmente cuando se utiliza SWRevealViewController(ios) (5)

Estoy tratando de implementar un menú de SWRevealViewController / deslizable utilizando el SWRevealViewController . Tengo un montón de menús. Uno de los menús es obtener información de la versión de la aplicación. Entonces, cuando hago clic en la celda, AlertView muestra el número de la versión y al presionar el botón Aceptar, me gustaría cerrar / ocultar el menú de la AlertView y volver a la vista anterior (controlador frontal). Por ejemplo, si estoy en el controlador de inicio de sesión y TableView el botón de configuración para mostrar la barra lateral y elijo el menú de versión de TableView celdas TableView , se abrirá un TableView emergente que muestra la versión # y cuando TableView Ok, la barra lateral debería cerrarse y volver a La pantalla de inicio de sesión sin tener que tocar el botón de configuración de nuevo o deslizar para volver. ¿Cómo puedo volver a la pantalla de inicio de sesión cuando presiono OK en la vista de alerta?

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { // the user clicked OK if (buttonIndex == 0) { //close the side bar and return to front view controller } }


// Vista Se cargó agregar esto // Swift 4.2

func viewDidLoad() { super.viewDidLoad() let leftMenuItem = UIBarButtonItem(image: UIImage(named: "menu"), style: .plain, target: revealViewController, action: #selector(SWRevealViewController.revealToggle(_:))) navigationItem.setLeftBarButton(leftMenuItem, animated: true) }


Acabo de descubrir la respuesta. Solo uso el siguiente código para ocultar la barra lateral.

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { if (buttonIndex == 0) { [self.revealViewController revealToggleAnimated:YES]; } }


La respuesta correcta es:

self.revealViewController().revealToggle(animated: true)


Si alguien está buscando una versión swift , solo use esta línea:

self.revealViewController().revealToggleAnimated()


si la barra lateral a la izquierda usando:

self.revealViewController().revealToggle(animated: true)

si estaba a la derecha usando:

self.revealViewController().rightRevealToggle(animated: true)