仅在主窗口中防止弹跳
我现在正在使用PhoneGap(3.4)和iOS7.1 beta3的最新版本,我发现正文(也许调用UI视图元素)具有反弹的不良属性,就像下面的图片,我想禁用它。 我试图在网站上search,我只find
<preference name="DisallowOverscroll" value="false" />
为我工作,但我觉得这个偏好使我的应用程序中的所有元素禁用弹跳,我只是想禁用身体的反弹就像下面的图片,并保持反弹在div元素。
有什么办法解决这个问题吗?
有一种方法,我曾经做到这一点。 但它不是传统的,因为它处理本地编码。 在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分布。
在你的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事件很有用。