在Swift中显示和关闭模态视图控制器

20 ios segue swift

当按下按钮时,我想通过使用模态过渡样式在两个视图控制器之间进行切换CoverVertical,然后将其关闭.有关于如何在目标C中执行此操作的信息,但在Swift中找不到任何好的信息.到目前为止我已经做到了这一点,但我不认为这是正确的:

 @IBAction func insertStatus(sender: UIButton) {

         var StatusVC: StatusViewController = StatusViewController()
    var modalStyle: UIModalTransitionStyle = UIModalTransitionStyle.CoverVertical
    StatusVC.modalTransitionStyle = modalStyle
    self.presentViewController(StatusVC, animated: true, completion: nil)

    }
Run Code Online (Sandbox Code Playgroud)

我这样使用的解雇也不起作用:

@IBAction func statusSaved(sender: UIBarButtonItem) {

        self.dismissViewControllerAnimated(false, completion: { () -> Void in
            let usersVC: UsersViewController = self.storyboard?.instantiateViewControllerWithIdentifier("UsersViewController") as UsersViewController
       })
    }
Run Code Online (Sandbox Code Playgroud)

Ces*_*are 37

斯威夫特3:

present(UIViewController(), animated: true, completion: nil)

dismiss(animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

Swift 2.2:

self.presentViewController(true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

隐藏/关闭视图控制器:

self.dismissViewControllerAnimated(true, completion: nil)
Run Code Online (Sandbox Code Playgroud)


fre*_*eoh 9

在Swift 3.0中解除视图控制器

self.dismiss(animated: true, completion: {})
Run Code Online (Sandbox Code Playgroud)

  • 使用"隐藏"这个词会有点混乱,因为隐藏,感觉就像物体仍在那里,但你没有看到它.实际上,在视图控制器从屏幕上消失后,其对象将被销毁,并且系统将回收它正在使用的内存. (2认同)