Ios UITapGestureRecognitor在Swift 3.0中不工作
这看起来很简单,但我已经有一段时间不知道为什么这不起作用了。我试图在点击时改变图像,但它似乎根本无法识别点击。我已经在故事板和程序上启用了用户交互,所以我有点迷茫Ios UITapGestureRecognitor在Swift 3.0中不工作,ios,swift,uiimageview,swift3,uitapgesturerecognizer,Ios,Swift,Uiimageview,Swift3,Uitapgesturerecognizer,这看起来很简单,但我已经有一段时间不知道为什么这不起作用了。我试图在点击时改变图像,但它似乎根本无法识别点击。我已经在故事板和程序上启用了用户交互,所以我有点迷茫 override func viewDidLoad() { super.viewDidLoad() tL.isUserInteractionEnabled = true x = UIImage(named: "Cross.jpg") reset = UIImage(named: "white.png
override func viewDidLoad() {
super.viewDidLoad()
tL.isUserInteractionEnabled = true
x = UIImage(named: "Cross.jpg")
reset = UIImage(named: "white.png")
//Tap Gesture ------------------------------------------------------------
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(Logic))
gestureRecognizer.numberOfTapsRequired = 1
tL.addGestureRecognizer(gestureRecognizer)
}
func Logic(_ sender: UITapGestureRecognizer) {
let tappedView = sender.view as! UIImageView
tappedView.image = x
print("Image Tapped")
}
有趣的逻辑需要1个参数,您应该在选择器中提供这样的参数。从
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(Logic))
到
不要将
逻辑
函数嵌套在viewDidLoad
中。它实际上不在里面,我删掉了很多代码,因为它不需要。仍然不工作。UITapgestureRecognizer在swift3中工作正常。如果GestureRecognitor位于viewDidLoad()内部,而func逻辑位于viewDidLoad()外部,则代码也可以正常工作。问题是其他的。如何添加“tL”?它被其他观点所掩盖了吗?@swift初学者你发现了吗?我也有同样的问题,
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(yourClassName.Logic(_ : )))