在模态视图外单击时退出场景

Exit scene when clicking outside of modal view

尝试退出模态视图以返回到 select进入模态视图之前的前一个场景。下面附上示例:

最初我使用 github 中的一些代码退出并通过按钮 return 返回到上一个场景。

如何select 灰色部分退出?

将 UITapGestureRecognizer 添加到灰色视图并将其设置为关闭视图控制器的方法。例如:

let tap = UITapGestureRecognizer(target: self, action: "close:")
grayView.addGestureRecognizer(tap)

例如,将其放入您的 viewDidLoad() 中。 然后在视图控制器的全局范围内进行响应点击的动作:

func close(tap: UITapGestureRecognizer) {
    self.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)
}

如果您希望视图的行为有所不同,您可以尝试这样的操作:

func close(tap: UITapGestureRecognizer) {
    let view = tap.view!
    UIView.animateWithDuration(0.5, animations: { () -> Void in
        view.backgroundColor = UIColor.clearColor()
        }) { (success) -> Void in
            self.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)
    }
}

您可能需要对动画的持续时间进行试验才能使其正确。