选择器未被调用 2 tapgesture

selector is not called 2 tapgesture

我已经在视图中添加了 UITapGestureRecognizer,但是当我点击它时,方法没有被调用。

func addTapGestuere(uiview: UIView) {

        let tapGestureRecognizer:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("cardTapped:"))
        uiview.addGestureRecognizer(tapGestureRecognizer)   
    }

我运行这个就viewDidload

self.addTapGestuere(self.Card1View)
self.addTapGestuere(self.Card2View)

我在方法上打了个断点

cardTapped(recognizer: UITapGestureRecognizer) {
}

但是当我点击图片时,方法没有被调用。我为所有视图启用了用户交互。

注意以下几点:

  1. 您尝试添加的 UIView UITapGestureRecognizer 已将 userInteractionEnabled 设置为 true:

    self.view.userInteractionEnabled = true

  2. 您尝试点击的 UIView 没有其他视图覆盖它。使用 View Debugger 确认这一点。

  3. 最重要的是,确保将 UITapGestureRecognizer 添加到正确的 UIView。添加到 self.view 会将其添加到 UIViewController 的视图。

作为旁注:您可以使用 Inetrface Builder 本身添加 UITapGestureRecognizer,然后连接 IBAction 同样。会降低犯简单错误的概率。