Как сделать переход на просмотр контроллера с панелью навигации? - PullRequest
0 голосов
/ 22 марта 2019

У меня есть два модуля, которые мне нужно подключить.

  1. Модуль авторизации, который состоит из 1 экрана. Здесь нет Навигация контроллера по нему и его нет в стеке.
  2. Основное применение. Первый экран - рут для контроллера навигация.

Как реализовать переход в случае успешной авторизации с экрана авторизации в основное приложение в коде Swift?

Моя схема экрана

РЕШЕНИЕ:

Я использую это решение для моего случая:

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "rootVC")
        UIApplication.shared.delegate?.window??.rootViewController = vc
        view.present(vc, animated: true) {
            self.view.dismiss(animated: false, completion: nil)
        }

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

в вашем контроллере на раскадровке добавьте свой идентификатор раскадровки, например, я назвал его navController

enter image description here

В вашем коде отВы хотите отобразить контроллер навигации как существующий, добавьте эту строку

case, если представлен контроллер вида на та же раскадровка

if let navController = self.storyboard?.instantiateViewController(withIdentifier: "navController") {
    self.present(navController, animated : true, completion : nil)
}

case, если контроллер представления представлен на другая раскадровка

let storyboard = UIStoryboard(name : STORYBOARD_NAME, bundle : nil)
let nav = storyboard.instantiateViewController(withIdentifier: "navController")
self.present(navController, animated : true, completion : nil)
0 голосов
/ 22 марта 2019

Задайте storyboardId "nav" для контроллера навигации, а затем представьте его на контроллере представления входа в систему.

if let nav = self.storyboard?.instantiateViewController(withIdentifier: "nav") {
    self.present(nav, animated: true, completion: nil)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...