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)