Невозможно отклонить View Controller, встроенный в Navigation Controller - PullRequest
0 голосов
/ 06 января 2019

У меня есть следующий сценарий. Контроллер представления, встроенный в контроллер навигации.

Этот контроллер представления имеет кнопку, которая создает экземпляр контроллера панели вкладок, а затем представляет один из его контроллеров представления.

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

То, что я пробовал, это:

    func showHomeScreen()  {
    //trying to dismiss the current view controller ( will move this code out of this method once i figure out how to do it
    self.navigationController?.popViewController(animated: true)
    self.dismiss(animated: true, completion: nil)
    //showing the next view controller
    let tabBarController = storyboard?.instantiateViewController(withIdentifier: "TabBarController") as! TabBarController

    tabBarController.selectedViewController = tabBarController.viewControllers?[1]
    present(tabBarController, animated: true, completion: nil)
}

self.navigationController?.popViewController => returns nil self.dismiss(animated: true, completion: nil) похоже ничего не делает.

Может кто-нибудь сказать, пожалуйста, как это исправить, я представляю, что это что-то ужасно простое, но я не могу найти ответ на него.

Редактировать: так выглядит моя раскадровка:

https://pasteboard.co/HVdHp6P.png

https://pasteboard.co/HVdHHoG.png

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

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

self.navigationController?.popToRootViewController(animated: true)
0 голосов
/ 06 января 2019

После отправки на следующий viewController, попробуйте использовать:

navigationController?.viewControllers.remove(at: 1)

Это должно удалить viewController, который является вторым в стеке.

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