0

在选择模态视图之前尝试退出模态视图以返回上一个场景。下面附上示例:

选择灰色区域

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

如何选择灰色部分退出?

4

1 回答 1

1

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

您可能需要尝试动画的持续时间才能使其正确。

于 2016-03-18T13:32:45.773 回答