Ghost viewcontrollers - PullRequest
       8

Ghost viewcontrollers

0 голосов
/ 27 апреля 2018

В моем приложении для iOS при переходе от viewcontroller 2 к 1 с помощью:

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "Start") as! Start
view?.window?.rootViewController?.dismiss(animated: true, completion:nil)
view?.window?.rootViewController?.present(newViewController, animated: false, completion: nil)

Переход работает нормально, но потом, когда я нажимаю кнопку в viewcontroller 1, которая приводит меня к viewcontroller 3 (который является SKScene), он тоже работает, но когда я использую код выше, чтобы вернуться к viewcontroller 1, из 3 , он показывает (старая версия) viewcontroller 2, а затем я должен нажать на кнопку назад, чтобы перейти к viewcontroller 1.

Я пытался отключить viewcontroller 2. каждый раз, когда он уходит.

Все контроллеры представления находятся в одном навигационном контроллере, но без верхней панели

Как мне вернуться к предыдущему viewcontroller без появления призрака?

1 Ответ

0 голосов
/ 27 апреля 2018

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

var arrViews = self.navigationController?.viewControllers

    for viewController in arrViews! {

        if viewController is YourViewControllerToRemove{

            if let index = arrViews?.index(of: viewController) {
                arrViews?.remove(at: index)
            }
        }
    }

self.navigationController?.viewControllers = arrViews!
...