iOS Web应用程序禁用偏移量滚动

iOS Web应用程序禁用偏移量滚动,ios,events,web-applications,scroll,Ios,Events,Web Applications,Scroll,如何禁用Web应用程序的偏移量滚动 我指的是深灰色区域 我曾经尝试过这个方法,但它一直都不起作用,它只是有时起作用,然后突然停止,我可以再次滚动。底线是有很多方法可以实现这一点,但都没有记录在案。它们目前都依赖于在UIWebView的子视图中搜索并修改它们的属性-所有这些子视图都没有文档记录,因此您的结果可能会有所不同。这当然不是一种理想的做事方式,正如你所发现的,结果可能是多种多样的。如果您可以获得包含在web视图中的滚动视图(同样,未记录),您可以禁用偏移滚动/反弹-此链接可能会有帮助:

如何禁用Web应用程序的偏移量滚动

我指的是深灰色区域


我曾经尝试过这个方法,但它一直都不起作用,它只是有时起作用,然后突然停止,我可以再次滚动。

底线是有很多方法可以实现这一点,但都没有记录在案。它们目前都依赖于在
UIWebView
的子视图中搜索并修改它们的属性-所有这些子视图都没有文档记录,因此您的结果可能会有所不同。这当然不是一种理想的做事方式,正如你所发现的,结果可能是多种多样的。如果您可以获得包含在web视图中的滚动视图(同样,未记录),您可以禁用偏移滚动/反弹-此链接可能会有帮助:

iOS 5对此有一个官方的修复程序,但是你需要在devforums.apple.com上询问或者阅读新的文档,因为所有与iOS 5相关的内容都是保密的,不能在这里讨论

document.body.addEventListener('touchmove', function(e){ e.preventDefault(); });

工作正常,但确保身体与屏幕的高度为100%

这将完全禁用所有触摸移动事件

<script type="text/javascript">
    function blockMove() {
       event.preventDefault() ;
}
</script>

<body ontouchmove="blockMove()">

函数blockMove(){
event.preventDefault();
}

它将屏幕冻结在适当的位置,给人一种更自然的感觉。但也会禁用任何可滚动区域。如果您想保留可滚动区域,但仍要删除顶部和底部的橡皮筋效果,请参见此处:。

我编写了此解决方案,以允许可滚动区域,但在它们可见时阻止主体滚动


但这是一个客观的解决方案,对吗?sencha在他们的演示中没有使用objective-c,我也不知道为什么这个答案会被否决。您可以通过UIWebView的子视图进行搜索,这一点在回顾过去时很明显,但现在仍然是我从StackOverflow获得的最有价值的知识之一。这是一个很棒的解决方案,但如果您的身高超出手机的可见边缘,这将是一场灾难。它不允许您垂直或水平滚动。