繁体   English   中英

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

[英]Exit scene when clicking outside of modal view

在选择模式视图之前,尝试退出模式视图以返回到先前的场景。 示例如下:

选择灰色区域

最初,我使用来自github的一些代码通过按钮退出并返回上一场景。

如何选择灰色部分退出呢?

将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)
    }
}

您可能必须尝试动画的持续时间才能正确处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM