如何比较iOS上的手势类型?

问题描述 投票:2回答:3

我在一个视图上有两种不同手势的三种不同手势。

[第一个是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。长按手势识别器具有...

ios objective-c ios8 uigesturerecognizer uitapgesturerecognizer
3个回答
4
投票

而不是YES中的所有情况都返回shouldRecognizeSimultaneouslyWithGestureRecognizer:,如果您不希望同时识别手势,则应该实际返回NO


1
投票

可以检查UIGestureRecognizer的类例如:


0
投票

我转换了Swift 5的代码以添加到这篇文章中。当我从Apple Documents中取出它时,它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.