我现在使用最新版本的PhoneGap(3.4)和iOS7.1 beta3,我发现身体(可能称为UI View元素)有一个不好的弹跳属性,就像下面的图片,我想要禁用它.我试图在网站上搜索,我发现只
适用于我,但我发现这个偏好使我的应用程序中的所有元素都禁用了反弹,我只想禁用身体反弹,如下图所示,并保持在div元素中反弹.
有没有办法解决这个问题?
您需要在config.xml文件中同时使用这两个首选项:
<preference name="webviewbounce" value="false" /> <preference name="DisallowOverscroll" value="true" />
然后,您可以在嵌套容器上启用iOS本机样式滚动:
.scrollingArea { width: 100%; height: (some-fixed-height); overflow: hidden; overflow-y: scroll !important; -webkit-overflow-scrolling: touch; }
您可能还会发现,在您不希望用户可滚动的某些元素上捕获和阻止touchmove'事件很有用(取决于您的布局).
有一种方法我用来实现这一目标.但它不是传统的,因为它处理本机编码.在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发行版.