TapGestureRecognizer 未在 swift 内触发

TapGestureRecognizer not firing in swift

您好,我没有卡片可以用来解决这个问题。开始了。

我有这五个 imageview 这是第一个 imageview 的声明但基本上它们有相同的声明

 @IBOutlet weak var first: UIImageView!{
        didSet{
            first.tag = 1
            first.addGestureRecognizer(tapGesture())
        }
    }

然后 tapGesture() 方法就是这个

private func tapGesture() -> UITapGestureRecognizer {
    let tapGesture = UITapGestureRecognizer(target: self, action: Selector("iconTapped:"))
    tapGesture.numberOfTapsRequired = 1
    tapGesture.numberOfTouchesRequired = 1
    return tapGesture
}

点击imageview时的动作调用iconTapped()方法,这是代码

func iconTapped(sender:UITapGestureRecognizer){
    if let tag = sender.view?.tag{
        processGesture(tag)
    }
}

我已将所有 imageview userInteractionEnable 设置为 true,但仍未触发。谁能帮帮我?

某些因素可能有帮助,也可能没有帮助,在 viewdidload 我更新了约束并为 imageview 做了一些动画,但我没有以编程方式添加任何子视图

在尝试了很多事情之后,我查看了我的视图层次结构,发现我的 UIImageView 所在的父视图 userInteractionEnable 在故事板中设置为 false(未选中)。

在这种情况下,父视图是我的父视图,为了修复我需要在 viewDidLoad() 中添加它

self.view.userInteractionEnabled = true

单击情节提要中的父视图,然后在属性检查器中选中启用用户交互。

ps。抱歉犯了愚蠢的错误,但我会保留这个问题,可能其他人也会遇到同样的问题。