我是一个不爱总结的人,但是今天在开发遇到的bug,我不记录下来是不行了,一是为了自己防止以后忘了,二是给以后的人铺路,都2020年了,不能让百度再把,15、16年的东西放在前面了,恶心到我了。
Xcode 版本11.2, Swift版本5,这是关于添加手势后,点击事件无法响应的问题,(事先声明:isUserInteractionEnabled = true 不要忘了)
不知道何时起Swift的手势识别器需要懒加载初始化,有大佬说是Xcode 10之后,我具体也不清楚,不过今天是遇到了,不响应,就需要懒加载,好了上代码。
class ViewController: UIViewController {
@IBOutlet weak var aImageView: UIImageView! //拖拽的控件
lazy var tap: UITapGestureRecognizer = {
let tap = UITapGestureRecognizer(target: self, action: #selector(singleTapAction))
return tap
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.isUserInteractionEnabled = true
aImageView.isUserInteractionEnabled = true
aImageView.addGestureRecognizer(tap)
// Do any additional setup after loading the view.
}
@objc func singleTapAction() {
print("\(String(describing: tap.view))")
}
}
对了,补充一下:方法不需要加参数,不用听一些人扯屁,不需要参数也可以调用点击方法
网友评论