Моя проблема:
Мое приложение требует, чтобы пользователь вошел в систему, поэтому первое, что я показываю, это представление входа в систему.Если мы вошли в систему, то мы показываем представление приложения, которое является контроллером панели вкладок.Одна из этих вкладок - информация об учетной записи + выход из системы.Выйдя из системы, я хочу вернуться к экрану входа в систему.
Мое решение:
Корневой вид - это контроллер навигации, который содержит основной вид.Основной вид прозрачен, просто говорит, что вы не вошли в систему?Вставьте экран учетной записи в стек.Если вы вошли в систему, поместите представление контроллера вкладок в стек.Каждая вкладка в контроллере вкладок является контроллером навигации.При нажатии на вкладку учетной записи представление учетной записи в представлении учетной записи помещается в стек.В представлении учетной записи есть кнопка выхода из системы, которая отображает 2 представления (и не работает):
// Go to main view (2 views up) to show default login screen (as we won't be logged in anymore)
UINavigationController *navController = self.navigationController;
[navController popViewControllerAnimated:NO];
[navController popViewControllerAnimated:YES];
В чем проблема, на мой взгляд:
Контроллер навигации, который у меня включенверхний уровень не совпадает с контроллерами навигации нижнего уровня в контроллере вкладок.
Моя проблема кажется довольно типичной, но мое решение кажется очень неуклюжим.Это не может быть лучшим способом сделать это!Любой совет?