首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIGestureRecognizers属地

UIGestureRecognizers属地
EN

Stack Overflow用户
提问于 2012-10-15 11:33:32
回答 2查看 268关注 0票数 0

我有一个UIView,其中有一个UILongPressGestureRecognizer,如下所示:

代码语言:javascript
复制
    movementGestureRecognizer = [[UILongPressGestureRecognizer alloc] init];
    [movementGestureRecognizer setDelegate:self];
    [movementGestureRecognizer setMinimumPressDuration:0.0f];
    [self addGestureRecognizer:movementGestureRecognizer];

你能看到它的名字吗,它已经习惯了,只要我长时间按下UIView,我就能移动它。

问题是,我也希望能够添加一些其他类型的手势,例如:

代码语言:javascript
复制
       optionsGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(options:)];
        [optionsGestureRecognizer setNumberOfTapsRequired:2];
        [self addGestureRecognizer:optionsGestureRecognizer];

问题是,我无法调用options:,因为movementGestureRecognizer正在“吸吮”所有的手势。是否有防止、取消或延迟movementGestureRecognizer的方法?

编辑1.0

如果我执行以下操作,我可以从options:调用TapGestureRecognizer

代码语言:javascript
复制
    [movementGestureRecognizer setMinimumPressDuration:0.1f];

然而,就可用性而言,这并不是一个完美的解决方案.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-17 13:35:56

通过执行以下操作,我能够提供一个解决方案:

1)在我的UIView上实现“状态机”,方法是根据UIGestureRecognizers的状态禁用并启用它。

2)使用UIPanGestureRecognizer来移动UIView's

( 3) this问题。

票数 0
EN

Stack Overflow用户

发布于 2012-10-15 13:25:12

水龙头和长压力机的区别在于,在从触控表面释放手指之前,你要按住手指多长时间。因此,您希望有一个最小的新闻持续时间大于0。

此外,您还可以执行以下操作:

代码语言:javascript
复制
movementGestureRecognizer.delaysTouchesBegan = NO;
movementGestureRecognizer.delaysTouchesEnded = NO;

这将使系统能够识别水龙头和长压力机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12894763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档