Перекрытие контроллеров представления - PullRequest
0 голосов
/ 14 мая 2019

В моем iOS-приложении я изначально запускаю контроллер вида входа в систему, который использует навигационные контроллеры.

Контроллер приветствия

Контроллер входа в систему

Когда пользователь успешно входит в систему, я изменяю контроллер корневого представления, чтобы перевести его на экран главного меню, где я использую SWRevealViewController для управления выдвижным меню.

Проблема, с которой я столкнулся, заключается в том, что когда пользователь щелкает, чтобы выйти из системы, его возвращают обратно в LoginVC, однако, по мере того, как он проходит через процесс входа в систему, я сталкиваюсь с ViewControllers, наложенными друг на друга.

Добро пожаловать VC можно увидеть за Login VC

Я пытался найти похожие проблемы и пытался убедиться, что я отключаю все остальные контроллеры представления при выходе из системы как для PresentingViewControllers, так и для NavigationController.

При успешном входе в систему я использую этот код для переключения контроллера rootview.

// Present the main view
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "reveal")
UIApplication.shared.keyWindow?.rootViewController = viewController
self.dismiss(animated: true, completion: nil)

Когда пользователь щелкает, чтобы выйти, я использую этот код, чтобы вернуться в раздел входа в систему.

// Switch to WelcomeView VC on logout
self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "WelcomeView")
UIApplication.shared.keyWindow?.rootViewController = viewController
dismiss(animated: true, completion: nil)

Я ожидал, что вернусь в Welcome VC и снова смогу работать через процесс входа в систему. В этом случае, однако, экран приветствия все еще виден за ВК для входа в систему.

Любые предложения будут с благодарностью!

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