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

标签 swift uigesturerecognizer

具有以下 View 结构:

enter image description here

以编程方式将点击手势记录添加到 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/

相关文章:

swift - 高度数据类型

ios - 自定义 UIControl 中的帧大小和 'required init(coder: NSCoder)'

ios - Firebase - 如何为现有数据库中的每一行添加一个新字段?

负数时 Swift 加倍奇怪

ios - 检测并记录所有手势

iphone - 处理 UIView 之间滑动的正确方法

Swift 4,将 UISwipeGestureRecognizer 方向传递给处理函数

iOS swift : How to prepare a cell for reuse

ios - 如何使用自动布局在 subview 中创建 UIGestureRecognizer?

ios - 我的游戏中的触摸延迟了? UIGestureEnvironmentSortAndSendDelayedTouches?