Я создаю Popup class
для использования в своем приложении и хочу добавить UITapGestureRecognizer
к непрозрачности черного слоя, когда пользователь автоматически нажимает за пределами этого всплывающего окна.Но этот жест не был распознан ... Я показываю вам мой код Popup class
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 func
никогда не вызывался.И нет никакого другого верхнего слоя над blackVoile UIView
, вот когда я позвонил своему классу:
let newPopup = Popup(superView : self.view)
newPopup.show()
Я новичок, поэтому, возможно, мы не можем добавить жест ккласс, у которого нет экземпляра UIView?
Благодаря вашей помощи.