[PhoneGap]仅在主窗口中阻止弹跳

Dic*_*ang 12 bounce ios cordova

我现在使用最新版本的PhoneGap(3.4)和iOS7.1 beta3,我发现身体(可能称为UI View元素)有一个不好的弹跳属性,就像下面的图片,我想要禁用它.我试图在网站上搜索,我发现只
<preference name="DisallowOverscroll" value="false" />
适用于我,但我发现这个偏好使我的应用程序中的所有元素都禁用了反弹,我只想禁用身体反弹,如下图所示,并保持在div元素中反弹.

有没有办法解决这个问题?

Ë

Ade*_*Ade 22

您需要在config.xml文件中同时使用这两个首选项:

<preference name="webviewbounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
Run Code Online (Sandbox Code Playgroud)

然后,您可以在嵌套容器上启用iOS本机样式滚动:

.scrollingArea
{
  width: 100%;
  height: (some-fixed-height);
  overflow: hidden;
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch;
}
Run Code Online (Sandbox Code Playgroud)

您可能还会发现,在您不希望用户可滚动的某些元素上捕获和阻止touchmove'事件很有用(取决于您的布局).


Asa*_*ith 5

有一种方法我用来实现这一目标.但它不是传统的,因为它处理本机编码.在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];
}
Run Code Online (Sandbox Code Playgroud)

因为这是ios本机代码,所以这适用于任何phonegap/cordova发行版.