我在一个视图上有两种不同手势的三种不同手势。
[第一个是UITapGestureRecognizer
,另外两个是UILongPressGestureRecognizer
。
[长按手势识别器具有不同的minimumPressDuration
,一个是0.15
,另一个是0.50
,所以我实现了以下功能,以便识别所有手势:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *) otherGestureRecognizer{
return true;
}
该功能确实允许识别所有手势,但是问题是只要识别出UILongPressGestureRecognizer
,也就识别出UITapGestureRecognizer
。
所以,我想知道如何比较]中的gestureRecognizer的类型>
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *) otherGestureRecognizer
或检测到
UITapGestureRecognizer
时如何停止UILongPressGestureRecognizer
,因为每当触发UITapGestureRecognizer
时就会触发UILongPressGestureRecognizer
。
我在一个视图上有三种不同的手势,两种不同的类型。第一个是UITapGestureRecognizer,另外两个是UILongPressGestureRecognizer。长按手势识别器具有...
而不是YES
中的所有情况都返回shouldRecognizeSimultaneouslyWithGestureRecognizer:
,如果您不希望同时识别手势,则应该实际返回NO
:
可以检查UIGestureRecognizer的类例如:
我转换了Swift 5的代码以添加到这篇文章中。当我从Apple Documents中取出它时,它应该可以工作。