【问题标题】:javascript (iscroll4) scrolling solution for webview in ios4 overrules/disables native gesture-recognitionios4中webview的javascript(iscroll4)滚动解决方案否决/禁用本机手势识别
【发布时间】:2012-01-10 15:30:28
【问题描述】:

在我的 iPad 应用程序中,我有一个 UIScrollView(一个水平滑块 - 类似于图像轮播),其中包含多个 UIWebViews - 每个都占据整个屏幕。每个 webview 在顶部都有一个 head-bar 和垂直滚动的内容,如果需要,应该在 bar 后面滚动。这是在 html 和 css 中完成的,其中 position:fixed 用于 head-bar。

它在 iOS5 中运行良好,但在 iOS4 中失败。这是一个known issue,有几个 javascript 解决方案可以解决这个问题,例如来自网站doctyper 或 iScroll4 或触摸滚动(基于 iScroll)。

这些解决方案在垂直滚动方面效果很好。我现在的问题是,我不能再水平滑动(从 UIWebView 到 UIWebView),只要我在垂直可滚动的 div 容器内开始滑动手势(它几乎占据整个屏幕 - 除了每边的几个像素)。 javascript 解决方案似乎阻止了从 UIScrollView 进行水平滑动的手势识别。

我什至不确定是在objective-c 端还是在javascript 或html 端找到解决方案。任何帮助表示赞赏。即使这只是一个正确方向的提示。 谢谢。

【问题讨论】:

    标签: javascript objective-c ios4 css-position iscroll4


    【解决方案1】:

    我找到了我的问题here 的答案。在iscroll-lite.js 中,您必须取消注释第 60 行。在第 225 行的正下方

    timestamp = e.timeStamp || Date.now(); 
    

    你必须添加行

    if (Math.sqrt(deltaY * deltaY) > 3) {
        e.preventDefault();
    }
    

    现在我可以使用垂直滚动和水平滚动的滚动辅助。

    【讨论】:

      猜你喜欢
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多