【发布时间】:2011-11-12 09:27:14
【问题描述】:
我有一个问题可能看起来很基本但无法弄清楚。
基本问题是:当手势识别器处于 UIGestureRecognizerStateBegan 或 UIGestureRecognizerStateChanged 时,如何以编程方式将手势识别器置于处理程序的失败状态?
更详细的解释:我在 UIScrollView 中有一个用于 UIView 的长按手势识别器。我做了
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
因为否则一旦用户将手指放在视图上,我就无法滚动滚动视图。这是像 safari 一样的基本触摸,您在链接上按住手指,这会突出显示链接,但向上或向下滚动 - 然后链接不突出显示并且滚动视图移动。
由于两种手势都被识别,我现在可以大部分工作,但如果我可以检测到 longpress 手势识别器的 StateChanged 中的运动会更好,如果它超过 20 像素左右,只需以编程方式使 longpress 失败。
这可能吗?还是我挖错地方了?
【问题讨论】:
标签: ios uiscrollview uigesturerecognizer