gpt4 book ai didi

ios - UITapGesture 在 Popup 类上没有按预期工作

转载 作者:行者123 更新时间:2023-11-28 14:18:41 26 4
gpt4 key购买 nike

我创建了一个 Popup 类 以在我的应用程序中使用,我想在黑色图层不透明度中添加一个 UITapGestureRecognizer,当用户触摸弹出窗口之外时关闭自动地。但是这个手势没有被识别出来。我向您展示了我的 Popup 类

代码
class Popup {

let supView : UIView!
let blackVoile = UIView()

init(superView viewToInsert : UIView){

self.supView = viewToInsert

build()
}

private func build(){
blackVoile.frame = supView.bounds
blackVoile.layer.backgroundColor = UIColor.black.cgColor

blackVoile.isUserInteractionEnabled = true
let closeGesture = UITapGestureRecognizer(target: self, action: #selector(self.close))
blackVoile.addGestureRecognizer(closeGesture)

}


func show(){
supView.addSubview(blackVoile)
}

@objc func close(){
print("close function")
self.blackVoile.removeFromSuperview()
}
}

从未调用过close funcblackVoile UIView

之上没有其他覆盖层

这是我给类(class)打电话的时候:

let newPopup = Popup(superView : self.view)
newPopup.show()

我是初学者,也许我们不能向没有 UIView 实例的类添加手势?

最佳答案

您的不透明度有问题。如果我们将任何 opacity 设置为 0,那么该 View 将被视为隐藏 View 。所以,您的 tapGesture 不工作。

更新

var newPopup : Popup!

override func viewDidLoad() {
super.viewDidLoad()
newPopup = Popup(superView : self.view)
newPopup.show()
}

关于ios - UITapGesture 在 Popup 类上没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52033114/

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