I want to implement TapGestureRecognizer
with the selector
, below is the code where I added tapGestureRecognizer to my imageView
let tapFirstGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(assignImage(_:)))
firstImageView.isUserInteractionEnabled = true
firstImageView.tag = 1
firstImageView.addGestureRecognizer(tapFirstGestureRecognizer)
Here is the action method
func assignImage(_ sender: UIImageView){
imagePicker.allowsEditing = false
imagePicker.sourceType = .photoLibrary
imageViewTag = sender.tag
present(imagePicker, animated: true, completion: nil)
}
Compiler keeps saying
[UITapGestureRecognizer tag]: unrecognized selector sent to instance 0x6080001a7700'
The problem is with your method declaration and with assigning tag
to the object of UIGestureRecognizer
. Change your method declaration like this.
func assignImage(_ sender: UITapGestureRecognizer)
Or
func assignImage(_ sender: UIGestureRecognizer)
Edit: To access imageView object with UITapGestureRecognizer
.
func assignImage(_ sender: UITapGestureRecognizer) {
if let imageView = sender.view as? UIImageView {
}
}
Note: You need to set tag
with you imageView
not with you UITapGestureRecognizer
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With