gpt4 book ai didi

ios - 关闭 Presentation ViewController

转载 作者:行者123 更新时间:2023-11-28 06:26:24 27 4
gpt4 key购买 nike

我有一个自定义 PresentationViewController,它的高度为半屏尺寸,宽度为全屏尺寸。

enter image description here

我想在 PresentationViewController 外部按下以关闭它。

我尝试在 ViewController 下添加一个按钮,但此按钮的操作从未被调用。

我还尝试在 PresentationViewController 中添加一个按钮,该按钮的帧等于 view.frame 并为 touchUpOutside 发送一个 Action ,这个按钮的 Action 也永远不会被调用。

那么如何关闭这个PresentationViewController

最佳答案

将手势识别器添加到 View 的窗口

对于 Swift3

var recognizer = UITapGestureRecognizer(target: self, action: #selector(yourViewController.handleTap(_:)))
recognizer.numberOfTapsRequired = 1
recognizer.cancelsTouchesInView = false
self.view.window?.addGestureRecognizer(recognizer)

然后像这样调用函数

 func handleTap(_ sender: UITapGestureRecognizer) {
if sender.state == .ended {
var location: CGPoint = sender.location(in: nil)
if !self.view.point(inside: self.view.convertPoint(location, from: self.view.window), withEvent: nil) {
self.view.window?.removeGestureRecognizer(sender)
self.dismiss(animated: true, completion: nil)
}
}
}

对于 objective-c ,您可以引用here

关于ios - 关闭 Presentation ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41756498/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com