具有以下视图结构:
swift - Tap Gesture无法正常工作。启用用户交互。-LMLPHP
以编程方式将tap手势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)

但是方法没有被触发。
同一视图中还添加了两个滑动手势识别器:
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)

也许是他们的原因?

最佳答案

找到的解决方案:
包含我的lbl的视图在脚本中未选中它的userInteractionEnabled
因此,在向标签、图像或只是添加按钮添加手势识别器时,请始终检查所有父视图是否都有其userInteractionEnabledtrue的值。

10-08 01:01