Кнопка «Отмена» на странице авторизации FirebaseUI - PullRequest
0 голосов
/ 27 февраля 2020

Я использую встроенную аутентификацию FirebaseUI для моего проекта swift. У меня есть две страницы / контроллеры: основной и профиль пользователя. Я создал навигационный контроллер. При нажатии кнопки профиля пользователя контроллер входа будет помещен в стек навигации.

    let loginController = SignInController()
    self.navigationController?.pushViewController(loginController, animated: true)

В контроллере входа в систему будет вызван пользовательский интерфейс Firebase, который выскочит из стека навигации после завершения входа в систему. ,

    DispatchQueue.main.async {
      let authVC = authUI.authViewController()
      authVC.modalPresentationStyle = .fullScreen
      self.present(authVC, animated: true, completion: nil)
      self.navigationController?.popViewController(animated: true)}

Однако на странице входа есть кнопка отмены. Я знаю, как это скрыть, но я думаю, что лучший лог c будет возвращаться обратно на домашнюю страницу, когда эта кнопка нажата. Документация FirebaseUI не описывает, как обрабатывать кнопку отмены.

Моей первой мыслью было установить rootController обратно на контроллер главной страницы, если нажата кнопка отмены. Тем не менее, очевидно, что если я позвоню сразу после появления страницы авторизации, приложение go вернется на домашнюю страницу, не дожидаясь, пока пользователь завершит sh вход / регистрацию

    DispatchQueue.main.async {
      let authVC = authUI.authViewController()
      authVC.modalPresentationStyle = .fullScreen
      self.present(authVC, animated: true, completion: nil)
      appDelegate?.window.rootController = mainController()

Я также пытался очистить стек навигации, но он не работал

Извините, новичок в Swift. Любые мысли / советы / предложения с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...