在选择模态视图之前,尝试退出模态视图以返回上一个场景。附件如下:
最初我使用github中的一些代码退出并通过按钮返回上一个场景。
如何选择要退出的灰色部分?
答案 0 :(得分:1)
将UITapGestureRecognizer添加到灰色视图并将其设置为解除视图控制器的方法。 E.g:
let tap = UITapGestureRecognizer(target: self, action: "close:")
grayView.addGestureRecognizer(tap)
例如,将它放在viewDidLoad()中。 然后在视图控制器的全局范围内执行响应tap的操作:
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)
}
}
您可能需要尝试动画的持续时间才能使其正确。