在视图上自定义多个手势
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 中的多个平移手势