【问题标题】:How to reset/restart viewcontroller in Swift?如何在 Swift 中重置/重启视图控制器?
【发布时间】:2017-10-30 20:18:23
【问题描述】:

我想在我的导航栏“重置”上有一个按钮,我希望它连接到IBAction 以“重新启动”控制器。

我有一些来自另一个控制器的 segues,它改变了viewcontroller(有一个collectionview)的某些方面,我希望用户能够重新开始。有人对如何进行有任何建议吗?

【问题讨论】:

    标签: swift


    【解决方案1】:

    如果您将导航控制器嵌入到视图控制器中,那么您可以使用以下代码:

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyboard.instantiateViewControllerWithIdentifier("ViewController")
    let viewcontrollers = self.navigationController.viewControllers
    viewcontrollers.removeLast()
    viewcontrollers.append(vc)
    self.navigationControllers?.setViewControllers(viewcontrollers, animate: true)
    

    【讨论】:

    • 我没有嵌入。
    【解决方案2】:

    您可以更改应用程序的 rootViewController:

    UIApplication.shared.keyWindow?.rootViewController = UIViewController()

    【讨论】:

      【解决方案3】:

      这就是我在 Swift 2.1 中使用 UINavigationController 内的 Home 视图的方式:

      let storyboard = UIStoryboard(name: "Main", bundle: nil)
      let homeVC = storyboard.instantiateViewControllerWithIdentifier("HomeViewController")
      self.navigationController?.presentViewController(homeVC, animated: false, completion: nil)
      self.navigationController?.dismissViewControllerAnimated(false, completion: nil)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-04
        • 1970-01-01
        • 2015-09-21
        • 2014-12-13
        • 1970-01-01
        • 2017-09-28
        • 1970-01-01
        相关资源
        最近更新 更多