ios - 快速返回 Root View Controller

标签 ios swift

有没有办法关闭所有 View Controller (其中一些 Controller 通过导航推送)并返回到 Root View Controller 。我看到了很多示例,但它们在我的应用程序中不起作用。我正在使用 swift 4

这是appdelegate中的代码

func setNavigationToRootViews(){

    storyBoard = UIStoryboard(name: "Main", bundle: nil)
    nav = storyBoard?.instantiateViewController(withIdentifier: "mainNavigation") as! UINavigationController?
    let accessToken: String? = KeychainWrapper.standard.string(forKey: "token")
    print(accessToken as Any)

   if accessToken != nil {

        let homeVc = storyBoard?.instantiateViewController(withIdentifier: "Home-VC") as! HomeViewController
        nav?.pushViewController(homeVc, animated: false)
    }else{

        let welcomVc = storyBoard?.instantiateViewController(withIdentifier: "login-VC") as! LoginViewController
        nav?.pushViewController(welcomVc, animated: false)
    }

    let leftMenuVC = storyBoard?.instantiateViewController(withIdentifier: "menu-VC") as! MenuViewController
    container = MFSideMenuContainerViewController.container(withCenter: nav, leftMenuViewController: leftMenuVC, rightMenuViewController: nil)
    container?.panMode = MFSideMenuPanModeNone
    window?.rootViewController = container
    window?.makeKeyAndVisible()

}

这是我最后一个 View Controller

@IBAction func okayBtnTapped(_ sender: Any) {


        _ = self.navigationController?.popToRootViewController(animated: 
          true)
        dismiss(animated: true, completion: nil)

    }

最佳答案

试试这个:

self.navigationController?.popToRootViewController(animated: true)

关于ios - 快速返回 Root View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49028879/

相关文章:

swift - 协议(protocol)扩展中的 "self as?"

swift - Swift Chat客户端教程,具有Parse吗?

ios - UITextField:开始输入时,文本框向上弹跳,然后向下弹跳

ios - 如何中止 XCode Bot 构建?

iphone - 在 iphone SDK 中通过 popover 的表格行关闭模态视图

swift - 使用 Swift 检测 MacBook 盖子的打开/关闭?

ios - Xcode 显示名称和丹麦语字符导致 Xcode 失败

ios - 数组回调

ios - 获取收到远程通知的日期

ios - 如何使用 xcode 5.1.. 在具有 ios 7 的设备上获得 ios 6 的外观和感觉?