停止Phonegap IOS中的滚动/反弹

我正在使用IOS(ipad)的最新版本的PhoneGap,我似乎无法禁用整个应用程序的垂直overscroll /反弹。 我不介意内部元素,但是当您向上或向下滑动时,看起来相当奇怪,整个应用程序会上下跳动。

我已经尝试在.plist中设置UIWebViewBounceno ,但是这似乎没有做任何事情。

感谢帮助:)

你必须在你的config.xml文件中修改一个属性。 只需将以下偏好设置为true

 <preference name="DisallowOverscroll" value="true" /> 

接受的答案没有为我工作,我不得不将UIWebViewBounce设置为false

 <preference name="UIWebViewBounce" value="false" /> 

现在Phonegap 3.0以上的版本使用下面的config.xml文件中的syntex,它将100%

 <preference name="DisallowOverscroll" value="true"/> 

如果您没有任何运气,将<preference name="DisallowOverscroll" value="true"/>到config.xml中,则可能是更改了错误的文件。 而是在整个phonegap目录中search“DisallowOverscroll”。 你应该find几个实例。 将这些更改为true.

干杯。

如果没有其他工作,尝试删除-webkit-overflow-scrolling: touch从你的CSS -webkit-overflow-scrolling: touch …如果你有它!

使用这种方式:

 function disallowOverscroll(){ $(document).on('touchmove',function(e){ e.preventDefault(); }); $('body').on('touchstart','.scrollable',function(e) { if (e.currentTarget.scrollTop === 0) { e.currentTarget.scrollTop = 1; } else if (e.currentTarget.scrollHeight === e.currentTarget.scrollTop + e.currentTarget.offsetHeight) { e.currentTarget.scrollTop -= 1; } }); $('body').on('touchmove','.scrollable',function(e) { e.stopPropagation(); }); } disallowOverscroll(); 

欲了解更多详情或提示和技巧,请阅读这篇文章点击

有一种方法,我曾经做到这一点。 但它不是传统的,因为它处理本地编码。 在MainViewController中有一个名为webViewDidFinishLoad的方法。 包括这个
theWebView.scrollView.bounces = NO;

在那个方法里面

 - (void)webViewDidFinishLoad:(UIWebView*)theWebView { // Black base color for background matches the native apps theWebView.backgroundColor = [UIColor blackColor]; theWebView.scrollView.bounces= NO; return [super webViewDidFinishLoad:theWebView]; } 

由于这是IOS本机代码,这将在任何phonegap / cordova分配工作。

这是运行phonegap 3.0我的应用程序的工作:将以下行添加到config.xml

 <preference name="webviewbounce" value="false"/> 

在项目的config.xml中,在iOS的首选项下将DisallowOverscroll设置为true。 默认情况下它是错误的,这使整个视图与视图的内部元素一起滚动。

 <preference name="DisallowOverscroll" value="true" /> 

在项目的config.xml中,在iOS的首选项下将DisallowOverscroll设置为true。

 <preference name="DisallowOverscroll" value="true" /> 

谢谢你所有的答案。 但是,如果你有问题在Windows Phone这里是解决scheme。 只需转到MainPage.xaml.cs文件并replace下面的函数..

 public MainPage() { InitializeComponent(); this.CordovaView.DisableBouncyScrolling = true; this.CordovaView.Loaded += CordovaView_Loaded; } 

它对我的作品:)

我有一个类似的问题,但无法解决我迄今为止发现的所有解决scheme(如编辑config.xml)。

但最后,只需编辑主体的CSS属性,然后修复:

 html,body { overflow: auto; height:100%; } 

试试这个如果你是ionic framework用户Abc.html文件里面的内容。

<ion-content has-bouncing="false">

用这个:

 <preference name="UIWebViewBounce" value="false" /> 

最好在config.xml中修改两个元素,如下所示:

 <preference name="DisallowOverscroll" value="true"/> <preference name="UIWebViewBounce" value="false" /> 

这对我有效。 尝试在phonegap应用程序的config.xml文件中添加以下代码:

<preference name="DisallowOverscroll" value="true">

打开xCode – >find并从左侧菜单 – >中单击config.xml,并将DisallowOverscroll的值false更改为true或通过replace前一个来使用此代码。

  <preference name="DisallowOverscroll" value="true" />