在视图上自定义多个手势

Posted

技术标签:

【中文标题】在视图上自定义多个手势【英文标题】:Custom multiple gesture on a view 【发布时间】:2013-11-19 07:25:12 【问题描述】:

我创建了两个自定义手势识别器。

    PinGestureRecognizer。此手势用于在水平方向拖动视图。 TagGestureRecognizer。此手势用于增加视图的高度,直到用户垂直拖动视图。

现在,如果另一个手势被识别,我想失败一个手势。

例子:

    如果用户水平拖动视图 >=10 像素需要识别 PinGestureRecognizer 并且失败 TapGestureRecognizer 反之亦然。

我怎样才能实现这个功能。

我知道ios7提供了类似的方法

shouldBeRequiredToFailByGestureRecognizer: shouldRequireFailureOfGestureRecognizer:

如果它等于我的问题,我无法理解。如果其正确的意思,请建议我在 iOS4 及更高版本中获得相同的功能。

提前谢谢....

【问题讨论】:

【参考方案1】:

PinGestureRecognizer 使用gestureRecognizerShouldBegin 委托方法,例如:

// To handle not scrolling vertically
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)panGestureRecognizer 
    CGPoint translation = [panGestureRecognizer translationInView:myView];
    return fabs(translation.y) < fabs(translation.x);

【讨论】:

以上是关于在视图上自定义多个手势的主要内容,如果未能解决你的问题,请参考以下文章

防止自定义 UITableViewCells 中的多个平移手势

自定义表格视图单元格中特定元素的手势

您可以在多大程度上自定义 Fabric 的 Digits 在 Android 上的流程、外观和感觉?

在猫鼬上自定义 json 输出

自定义界面上自托管 Kubernetes 的入口

在 Microsoft Access 数据表上自定义自动完成功能