2014-10-24 27 views
14

Próbuję zaimplementować SideBar/menu slajdów, używając SWRevealViewController. Mam kilka menu. Jednym z menu jest pobranie informacji o wersji aplikacji. Kiedy klikam komórkę, An AlertView wyświetla numer wersji i po naciśnięciu przycisku OK chciałbym zamknąć/ukryć menu SideBar i powrócić do poprzedniego widoku (przedni kontroler). Na przykład, jeśli jestem na kontrolerze logowania i wciskam przycisk ustawień, aby odsłonić pasek boczny i wybieram menu wersji z komórek TableView, pojawi się pop wyświetlający wersję # i po naciśnięciu Ok, SideBar powinien zamknąć się i wrócić do ekran logowania bez konieczności ponownego naciskania przycisku ustawień lub przesuwania w celu powrotu. Jak mogę powrócić do ekranu logowania po naciśnięciu przycisku OK w widoku alertu.Sposób ręcznego ręcznego zamykania menu SideBar przy użyciu narzędzia SWRevealViewController (ios)

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

     //close the side bar and return to front view controller 
    } 
} 
+0

mam ten sam problem. Mam menu ** Exit ** z ostrzeżeniem TAK/NIE. Po naciśnięciu NIE muszę wrócić do tego samego menu. Pamiętam, że ostatnio nazwałem "segue" (menu) i ponownie to nazywam. – new2ios

Odpowiedz

31

Właśnie wymyśliłem odpowiedź. Po prostu używam następującego kodu, aby ukryć pasek boczny.

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

    } 
} 
9

Jeśli ktoś szuka wersji swift, wystarczy użyć tej jednej linii:

self.revealViewController().revealToggleAnimated() 
11

Prawidłowa odpowiedź brzmi:

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

Firt yo musi sprawdzić, czy twoje menu jest otwarte -> jeśli (wyjawiViewController(). FrontViewPosition == FrontViewPosition.right) – kike0kike