Oto scenariusz:Jak powrócić do pierwszego kontrolera widoku na scenorysie?
Pierwsza scena w moim scenopisie to widok logowania. To jest UIViewController. Gdy użytkownik jest zalogowany, pokazuje widok domowy, który jest osadzony w kontrolerze nawigacyjnym. Dodaję funkcję wylogowania, która powinna zabrać mnie z powrotem do pierwszej sceny w scenorysie, która jest widokiem logowania. Jak mogę to zrobić?
Oto obraz z serii ujęć przedstawiający widok logowania -> kontroler nawigacyjny -> dom widok
To moja realizacja tej pory. W akcji wylogowywania wyczyść sesję i przejdź do kontrolera widoku root. To nie działa, ponieważ nadal utknąłem w widoku głównym, ponieważ jest to kontroler widoku głównego kontrolera nawigacyjnego. Jeśli jednak ponownie uruchomię aplikację, użytkownik zostanie wylogowany i pozostanie przy widoku logowania.
Kod:
[self.navigationController popToRootViewControllerAnimated:NO];
// Set at beginning of storyboard
UIStoryboard *mystoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
app.loginViewController = [mystoryboard instantiateViewControllerWithIdentifier:@"loginViewController"];
[Użyj odwijania segue] (http://stackoverflow.com/q/12561735/335858). – dasblinkenlight
Powinieneś dodać to jako odpowiedź, a ja to zaakceptuję. Również zajęło mi to trochę czasu, ponieważ działania są z UIActionSheet i SO przykład wszystkich przycisków używa.Daj mi znać, jeśli znajdziesz dobry sposób na zrobienie tego wszystkiego programowo. – okysabeni
Mój komentarz nie jest pełną odpowiedzią, to tylko wskazówka. Masz [lepszą odpowiedź poniżej] (http://stackoverflow.com/a/28492711/335858), która używa tego samego pomysłu. – dasblinkenlight