【发布时间】:2012-04-14 01:54:25
【问题描述】:
我正在为主要的操作系统平台开发一个 Phonegap 应用程序,目前正在使用 iOS 5 的 iPad 上对其进行测试。我使用的是 jquery mobile。所以对于大屏幕,我使用了 splitview jquery 移动插件。 http://asyraf9.github.com/jquery-mobile/
我放了一个
$scrollArea.css('overflow-y','auto');
$scrollArea.css('-webkit-overflow-scrolling','touch');
让页面滚动而不是像插件使用的那样使用 iscroll。现在发生了什么,当用户滚动时页面没有加载/重新绘制。我有一个包含 100 个项目的列表,我滚动浏览它们。
滚动本身并不慢,但新的列表视图行在滚动后几乎需要一整秒才能弹出视图。在此之前,它是一个空白区域。
在观察时,我可以看到列表项在滚动停止之前不会弹出视图。 (动量卷轴)
我该怎么做才能使这项工作正常进行?同样的事情在android标签上也能正常工作。请帮忙。
编辑:如果我只使用
$scrollArea.css('overflow-y','auto');
然后我不会在滚动后遇到暂时空白区域的问题,但是滚动速度非常慢。
请不要建议使用 iScroll。已经试过了。它比我使用 -webkit-overflow-scrolling 得到的要慢得多,而且我无法使用它。
【问题讨论】:
-
我很确定 iOS 5 仍然一次绘制
1024x1024px块,因此几乎所有屏幕外的内容在进入视口时都必须渲染。有趣的是,iOS 的问题比 Android 的问题更大(通常情况并非如此)。 -
那么你建议什么是给用户一个共同的滚动体验的最佳方式?或者至少是 iPad 上的可用体验??
-
我没有发表评论作为答案,因为我对 iPad 的经验很少,但这是我在 Google 上找到的一篇很有前途的文章(搜索词是
html ipad pre-draw offscreen content):kaioa.com/node/103 . -
我有同样的问题,滚动很慢(只有“溢出:滚动”或者直到滚动停止才能重绘屏幕(使用“-webkit-overflow-scrolling:touch” . 它只发生在大量内容上(比如来自 YouTube 的 iFrame、透明 PNG 等。而且“-webkit-overflow-scrolling”也会破坏我的 z-indexes。:-/
-
Offtopic:如果没有人有解决方案,我能拿回我的“钱”吗? :)
标签: ipad ios5 jquery-mobile cordova webkit