Как добавить функцию выхода из системы в приложение для iPhone?

У меня есть приложение с этим макетом:

Когда вы открываете приложение, вы видите экран входа в систему. Вы входите в систему и видите панель вкладок с 3 вкладками. (Вид входа отображается с помощью presentModalView в делегате приложения на панели вкладок).

На третьей вкладке есть кнопка выхода. Я хочу, чтобы при нажатии кнопки выхода приложение удаляло NSUserDefaults и снова отображало логин. И если вы снова войдете в систему, экран входа исчезнет, ​​и вы увидите первую вкладку панели вкладок.

Как я могу это сделать?


person Joaquin McCoy    schedule 01.12.2010    source источник


Ответы (1)


Сделайте следующее,

  1. Поместите свой вход в систему в контроллере первого представления.

  2. Поместите контроллер табуляции во второй контроллер представления.

  3. Сохраните второй экземпляр контроллера представления в appDelegate (он будет использоваться для навигации).

  4. Теперь, когда нажата кнопка выхода из системы, используйте сохраненный экземпляр для навигации по вашему представлению.

person KingofBliss    schedule 01.12.2010
comment
Хорошо, вы предлагаете изменить мой макет и использовать не modalpopup, а навигационный контроллер, верно? Вход в систему — это первое представление --› панель вкладок — это второе представление. - person Joaquin McCoy; 01.12.2010
comment
@kingoofbliss: есть способ изменить эффект перехода при переключении с первого вида на второй? Я имею в виду стандартный эффект по умолчанию для навигационного контроллера, когда вы нажимаете представление. - person Joaquin McCoy; 01.12.2010
comment
@joaquin: проверь основную анимацию - person KingofBliss; 01.12.2010
comment
Вы знаете один пример того, что я хочу? Еще раз спасибо. - person Joaquin McCoy; 01.12.2010
comment
Вы хотите изменить анимацию перехода из одного вида в другой, верно? - person KingofBliss; 01.12.2010
comment
Если это так, сделайте следующее. Перед следующим кодом [self presentModalViewController: vc анимированный: YES]; добавьте эту строку, vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; - person KingofBliss; 01.12.2010
comment
это не pushViewController? почему в PresentModalViewController я использую NavigationController? Спасибо за терпеливость. - person Joaquin McCoy; 03.12.2010
comment
@KingofBliss Привет, если вы используете presentModelViewController для представления контроллера вкладок, тогда будет просто использовать [self dissmissModelViewController];‹/break›если вы представили контроллер представления модели на экране входа в систему, тогда вы сможете показать этот экран входа назад после вызова метода dissmissmodelviewcontroller для себя. - person Nikita Sharma Sahu; 06.12.2012