1

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

它在 iOS5 中运行良好,但在 iOS4 中失败。这是一个已知问题,有几个 javascript 解决方案可以解决这个问题,例如来自网站doctyper或 iScroll4 或 touch-scroll(基于 iScroll)。

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

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

4

1 回答 1

0

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

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

你必须添加行

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

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

于 2012-01-10T05:17:27.933 回答