Ios 有没有一种方法可以使两次轻拍的手势识别器具有不同的轻拍次数

Ios 有没有一种方法可以使两次轻拍的手势识别器具有不同的轻拍次数,ios,iphone,swift,uitapgesturerecognizer,Ios,Iphone,Swift,Uitapgesturerecognizer,在我的应用程序中,我需要根据用户点击图像的次数在点击手势上运行不同的功能 我有一个轻拍手势识别器,需要1次轻拍 我的第二个点击手势识别器需要2次点击。但是,如果我点击它2次,则会调用每个点击手势的两个函数 有没有办法做到这一点,这样这两个函数就可以分别调用,而不会相互干扰 问题是:如果我点击图像两次,它会同时调用goWatchVideo函数和onDoubleTap函数。我想避免这种情况 // Gesture that requires 1 tap let tapToWatch = UITapGe

在我的应用程序中,我需要根据用户点击图像的次数在点击手势上运行不同的功能

我有一个轻拍手势识别器,需要1次轻拍

我的第二个点击手势识别器需要2次点击。但是,如果我点击它2次,则会调用每个点击手势的两个函数

有没有办法做到这一点,这样这两个函数就可以分别调用,而不会相互干扰

问题是:如果我点击图像两次,它会同时调用goWatchVideo函数和onDoubleTap函数。我想避免这种情况

// Gesture that requires 1 tap
let tapToWatch = UITapGestureRecognizer(target: self, action: #selector(goWatchVideo))
tapToWatch.numberOfTapsRequired = 1     
postVideoView.addGestureRecognizer(tapToWatch)


// Gesture that requires 2 taps  
let doubleLike = UITapGestureRecognizer(target: self, action:#selector(self.onDoubleTap))
doubleLike.numberOfTapsRequired = 2
postVideoView.addGestureRecognizer(doubleLike)

// Tried to set them up for failures
tapToWatch.require(toFail: doubleLike)
doubleLike.require(toFail: tapToWatch)

您需要确保双击手势失败,以便初始化tapToWatch

试试这个

tapToWatch.require(toFail: doubleLike)

我现在没有尝试过,但据我记忆所及,您只需要在单个识别器上设置requiretofail,如

中所示,确保这->
postVideoView.isUserInAction=true
不是问题所在。我更新了说明,以进一步澄清您应该将
require(toFail:)
仅放在带有双点击参数的单点击上的问题。您最好将其添加为注释,啊,这很有意义,谢谢!