在我的应用中,我需要根据用户点击图像的次数在点按手势上运行不同的功能。
我有一个轻敲手势识别器,需要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)
答案 0 :(得分:1)
您需要确保双击手势失败才能初始化 tapToWatch
试试这个
ArrayList
答案 1 :(得分:0)
我现在没有尝试过,但据我记得,你只需要在this answer
中的单一识别器上设置 requiretofail