在我的主窗口的根視圖控制器類的,我設置了UITapGestureRecognizer屬性。在調用覆蓋的viewDidLoad函數期間,我通過addGestureRecognizer方法將此屬性添加到了圖像屬性中。我也將image.isUserInteractionEnabled設置爲true。UITapGestureRecognizer選擇不被調用
override func viewDidLoad() {
image.addGestureRecognizer(tap)
image.isUserInteractionEnabled = true
self.view.addSubview(image)
}
var tap = UITapGestureRecognizer(target: self, action: #selector(imagePressed(_ :)))
不幸的是,這不會導致imagePressed()在運行時被調用。令我困惑的是下面的代碼產生了預期的結果。
override func viewDidLoad() {
var tap = UITapGestureRecognizer(target: self, action:#selector(imagePressed(_ :)))
image.addGestureRecognizer(tap)
image.isUserInteractionEnabled = true
self.view.addSubview(image)
}
所以我的問題是,爲什麼UITapGestureRecognizer的選擇沒有得到第一種情況中調用?
使用斯威夫特3的Xcode 8.2.1
如果你貼什麼的代碼是正確的,你會怎麼想到第一次嘗試工作?您點擊聲明不在任何功能!它**屬於** viewDidLoad()*。 – dfd
水龍頭是我的視圖控制器類的屬性 –
我可能是錯的,但我從來沒有見過,也沒有聽說過做一個手勢識別視圖的屬性。我不認爲這是可以做到的。 – dfd