有没有办法让双击手势识别器具有不同数量的水龙头

时间:2018-01-02 07:55:55

标签: ios iphone swift uitapgesturerecognizer

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

我有一个轻敲手势识别器,需要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)

2 个答案:

答案 0 :(得分:1)

您需要确保双击手势失败才能初始化 tapToWatch

试试这个

ArrayList

答案 1 :(得分:0)

我现在没有尝试过,但据我记得,你只需要在this answer

中的单一识别器上设置 requiretofail