UISwipeGestureRecognizer垂直于UIWebView滚动:如何避免斜向滑动?

时间:2010-11-14 23:44:00

标签: ios uiwebview ipad

我正在编写一个iPad应用程序,其中我在UIWebView内强烈使用UIViewController

我正在用几个动作来轻扫手势识别器。他们检测左右滑动。由于我的网页视图上下滚动,因此很容易尝试水平滑动并让webview向上或向下滚动一下,最终导致手势识别器失败。

那么有什么办法可以避免这种行为吗?也许要检测水平滑动的开始并锁定UIWebView的垂直位置?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以拦截continueTrackingWithTouch:withEvent调用并选择性地返回NO - 或者甚至可以取消滑动。

E.g。

之类的东西
(BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
{
    if (... too diagonal to my taste) .. 
          return (NO);
    return [super continueTrackingWithTouch:touch withEvent:event];
}

其中'太对角'可能就像检查开始点和&当前点太非正交(例如dx = firstX - lastX,dy = firstY - lastY; len2 = dx * dx + dy * dy - 只允许某些比率相对于area = dx * dy。

谢谢,

DW传递。