点击手势不起作用。启用用户交互。

Evg*_*eny 1 uigesturerecognizer swift

具有以下视图结构:

在此处输入图片说明

以编程方式将点击手势 rec 添加到 Temp lbl:

    let tempLblTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MainFeedVC.convertDegrees))
    tempLblTap.delegate = self
    tempLblTap.numberOfTapsRequired = 1
    tempLblTap.numberOfTouchesRequired = 1
    tempLblTap.cancelsTouchesInView = false
    self.tempLbl.isUserInteractionEnabled = true
    self.tempLbl.addGestureRecognizer(tempLblTap)
Run Code Online (Sandbox Code Playgroud)

但该方法convertDegrees未触发。

还有 2 个滑动手势识别器添加到同一视图中:

let leftSwipeGestureRecognizer: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(MainFeedVC.showPostPicVC))
    leftSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.left
    self.view.addGestureRecognizer(leftSwipeGestureRecognizer)

    let rightSwipeGestureRecognizer: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(MainFeedVC.showUserVC))
    rightSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.right
    self.view.addGestureRecognizer(rightSwipeGestureRecognizer)
Run Code Online (Sandbox Code Playgroud)

也许他们是原因?

Evg*_*eny 5

找到解决方案:

包含我的 lbl 的视图userInteractionEnabled在故事板中未选中。因此,当将手势识别器添加到标签、图像或简单地添加按钮时,请始终检查所有父视图是否具有其userInteractionEnabledto true