web-dev-qa-db-fra.com

Comment fermer le menu SideBar manuellement lors de l'utilisation de SWRevealViewController (iOS)

J'essaie d'implémenter un menu SideBar/slide out en utilisant le SWRevealViewController. J'ai un tas de menus. L'un des menus consiste à obtenir des informations sur la version de l'application. Donc, lorsque je clique sur la cellule, Un AlertView affiche le numéro de version et en appuyant sur le bouton OK, je voudrais fermer/masquer le menu SideBar et revenir à la vue perméable (contrôleur frontal) . Par exemple, si je suis sur le contrôleur de connexion et que j'appuie sur le bouton des paramètres pour afficher la barre latérale et que je choisis le menu de version dans les cellules TableView, une fenêtre pop s'ouvrira affichant la version # et lorsque j'appuierai sur OK, le SideBar devrait se fermer et revenir à l'écran de connexion sans que je doive appuyer à nouveau sur le bouton des paramètres ou balayer pour revenir. Comment revenir à l'écran de connexion lorsque j'appuie sur OK dans la vue des alertes.

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    // the user clicked OK
    if (buttonIndex == 0) {

      //close the side bar and return to front view controller
    }
}
19
moni_sind

Je viens de trouver la réponse. J'utilise simplement le code suivant pour masquer la barre latérale.

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

   }
}
34
moni_sind

La bonne réponse est:

self.revealViewController().revealToggle(animated: true)
16
Nupur Sharma

Si quelqu'un cherche une version Swift, il suffit d'utiliser cette seule ligne:

self.revealViewController().revealToggleAnimated()
11
Alap Anerao

si la barre latérale à gauche utilise:

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

si était à droite en utilisant:

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