【问题标题】:Swift tap gesture recognizer not triggering快速点击手势识别器未触发
【发布时间】:2017-06-24 22:10:42
【问题描述】:

我想在我点击 UIPickerView 中的项目时触发点击手势。

我正在为 LongPress Gesture 使用以下代码,它工作正常。但是,如果我切换到 UITapGestureRecognizer,则不会触发任何内容。

@IBOutlet weak var showClaims: UIPickerView!

override func viewDidLoad() {
    super.viewDidLoad()
    showClaims.isUserInteractionEnabled = true
    let tapped = UITapGestureRecognizer(target: self, action: #selector(ClaimVC.SelectClaimInfo))
      
    showClaims.addGestureRecognizer(tapped)
}

func SelectClaimInfo() {
    GetClaimInfo()
}

【问题讨论】:

  • 我没有看到您在 showClaims 中添加点击手势识别器的位置。
  • UIPickerView 上的 .userInteractionEnabled 是否为真
  • @dfd 我已经用长按替换了水龙头。与长按相同的代码用于点击。
  • @Emptyless 是的,它已启用
  • 您应该将委托设置为手势识别器,以便调用shouldRecognizeSimultaneouslyWithGestureRecognizer

标签: ios swift uipickerview uitapgesturerecognizer


【解决方案1】:

我相信 @dfd 在 cmets 中是正确的。

例子:

override func viewDidLoad()
{
    super.viewDidLoad()
    setupTapGesture()
}

private func setupTapGesture()
{
    let tapGesture = UITapGestureRecognizer(target: self,
                                            action: #selector(myVC.doStuff(_:)))
    view.addGestureRecognizer(tapGesture)
}

func doStuff(gesture: UITapGestureRecognizer) {}

你确实错过了:

view.addGestureRecognizer(tapGesture)

更新:检查 touchesBegan 从这个 SO:touchesBegan Swift 3.0 有了它,您可以检查您的 UIPicker 是否正确地重新接收触摸。

【讨论】:

    【解决方案2】:

    对于谁点击手势对他们不起作用,直到把所有东西都做成那样:

    let tap = UITapGestureRecognizer(target: self, action:#selector(self.handleTap(_:)))
    myView.addGestureRecognizer(tap)
    

    尝试符合UIGestureRecognizerDelegate 然后 mKE tap.delegate = self 你必须实现这个UIGestureRecognizerDelegate 方法 制作

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多