Поведение при боковой навигации по меню между раскадровками - PullRequest
0 голосов
/ 01 июня 2018

Я работаю над навигацией по боковому меню.

Моя проблема в том, что у меня есть 2 раскадровки, и мне нужно определить, какой у меня текущий контекст, чтобы решить, нужно ли мне создавать новый ViewController или просто делатьa poptoRoot.

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

Я пытался выяснить, в какой раскадровке я в данный момент находился, чтобы сделать это, но ответы, которые я нахожу, говорят об использовании имени файла, которое я не знаю, является ли это хорошей идеей или как ее получить (япробовал self.parent? .storyboard, но не нашел полезных свойств)

это то, что я уже пробовал

let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)

var topVc = UIApplication.shared.keyWindow?.rootViewController;

if (self.parent is MasterViewController)
{
    parent.navigationController?.popToRootViewController(animated: true)
    return
}

if (topVc?.restorationClass == MasterViewController.self)
{

    parent.navigationController?.popToRootViewController(animated: true)
    return
}

if (topVc?.restorationIdentifier == "MyMeetings")
{
    parent.navigationController?.popToRootViewController(animated: true)
    return
}

if ( topVc?.isKind(of: MasterViewController.self ))!
{
    parent.navigationController?.popToRootViewController(animated: true)
    return
}

let vc = mainStoryboard.instantiateViewController(withIdentifier: "MyMeetings") as UIViewController

parent.present(vc, animated: false, completion: nil)

заранее спасибо

...