无法识别的选择器发送到Swift 3实例 [英] Unrecognized selector sent to instance Swift 3
问题描述
我想用选择器
实现 TapGestureRecognizer
,下面是我将tapGestureRecognizer添加到<$ c $的代码c $ c> imageView
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)
这是动作方法
func assignImage(_ sender: UIImageView){
imagePicker.allowsEditing = false
imagePicker.sourceType = .photoLibrary
imageViewTag = sender.tag
present(imagePicker, animated: true, completion: nil)
}
编译器一直说
[UITapGestureRecognizer tag]:无法识别的选择器发送到实例0x6080001a7700'
[UITapGestureRecognizer tag]: unrecognized selector sent to instance 0x6080001a7700'
推荐答案
问题在于您的方法声明以及将标记
分配给 UIGestureRecognizer的对象
。像这样改变你的方法声明。
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)
或
func assignImage(_ sender: UIGestureRecognizer)
编辑:使用访问imageView对象UITapGestureRecognizer
。
func assignImage(_ sender: UITapGestureRecognizer) {
if let imageView = sender.view as? UIImageView {
}
}
注意: 您需要设置标记
并使用 imageView
而不是 UITapGestureRecognizer
Note: You need to set tag
with you imageView
not with you UITapGestureRecognizer
这篇关于无法识别的选择器发送到Swift 3实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!