具有以下 View 结构:
以编程方式将点击手势记录添加到 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)
但是 convertDegrees
方法没有被触发。
还有 2 个滑动手势识别器被添加到同一个 View 中:
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 的 View 在 Storyboard中未选中其 userInteractionEnabled
。
因此,在将手势识别器添加到标签、图像或简单地添加按钮时,请始终检查所有父 View 是否将其 userInteractionEnabled
设置为 true
。
关于swift - 点击手势不起作用。启用用户交互。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43432840/