在使用PhoneGap制作App的时候,iOS作为承载App页面的容器的Webview,在手指向下或者向上滑动屏幕时,除了页面本身的滚动外,还经常会看到整体页面底部和屏幕底部被拖动出黑屏

为了防止这一滑动,可以通过修改修改项目中的MainViewController.m,重新设置WebView来实现

1 - (void)webViewDidFinishLoad:(UIWebView*)theWebView
2 {
3     // Black base color for background matches the native apps
4     theWebView.backgroundColor = [UIColorblackColor];
5      
6     [(UIScrollView *)[[theWebView subviews] objectAtIndex:0] setBounces:NO];
7  
8     return [superwebViewDidFinishLoad:theWebView];
9 }
 

在驿驴项目修改的地方是

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12f1b }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; min-height: 13.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #008400 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3e1e81 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d }
span.s1 { }
span.s2 { color: #ba2da2 }
span.s3 { color: #703daa }
span.s4 { color: #000000 }
span.s5 { color: #78492a }
span.s6 { font: 11.0px Menlo; color: #000000 }
span.s7 { font: 11.0px Menlo }
span.s8 { color: #272ad8 }
span.s9 { color: #4f8187 }
span.s10 { color: #31595d }
span.s11 { color: #3e1e81 }

- (void)webViewDidFinishLoad:(UIWebView*)webView

{

VerboseLog(@"webView didFinishLoad (before). state=%d loadCount=%d", _state, _loadCount);

BOOL fireCallback = NO;

// 禁止滚动上下滚动

[(UIScrollView *)[[webView subviews] objectAtIndex:0] setBounces:NO];

switch (_state) {

case STATE_IDLE:

break;

case STATE_WAITING_FOR_LOAD_START:

NSLog(@"CDVWebViewDelegate: Unexpected didFinish while waiting for load start.");

break;

case STATE_WAITING_FOR_LOAD_FINISH:

if (_loadCount == 1) {

fireCallback = YES;

_state = STATE_IDLE;

}

_loadCount -= 1;

break;

case STATE_IOS5_POLLING_FOR_LOAD_START:

[self pollForPageLoadStart:webView];

break;

case STATE_IOS5_POLLING_FOR_LOAD_FINISH:

[self pollForPageLoadFinish:webView];

break;

}

VerboseLog(@"webView didFinishLoad (after). state=%d loadCount=%d fireCallback=%d", _state, _loadCount, fireCallback);

if (fireCallback && [_delegate respondsToSelector:@selector(webViewDidFinishLoad:)]) {

[_delegate webViewDidFinishLoad:webView];

}

}

其实还可以这样

修改config.xml

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

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

在iOS中使用Phonegap防止Webview被上下拖动的更多相关文章

  1. ios中,长按Webview中的图片

    我们所要解决的问题如题目所示:ios中,长按Webview中的图片,将图片保存到本地相册. 解决方案:对load的html网页,执行js注入,通过在webview中执行js代码,来响应点击事件,通过j ...

  2. Cordoval在iOS中的运用整理

    一:关于Cordoval理论知识 1:PhoneGap是手机平台上流行的一款中间件.它构建在各种手机平台所提供的WebView(浏览器内核)组件的基础之上,使用javascript语言对应用开发者提供 ...

  3. Unity在Android和iOS中如何调用Native API

    本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调 ...

  4. 【iOS】使用safari对webview进行调试

    [iOS]使用safari对webview进行调试 在web开发的过程中,抓包.调试页面样式.查看请求头是很常用的技巧.其实在iOS开发中,这些技巧也能用(无论是模拟器还是真机),不过我们需要用到ma ...

  5. 浅谈iOS中的userAgent

    浅谈iOS中的userAgent   User-Agent(用户代理)字符串是Web浏览器用于声明自身型号版本并随HTTP请求发送给Web服务器的字符串,在Web服务器上可以获取到该字符串. 在公司产 ...

  6. iOS中JS 与OC的交互(JavaScriptCore.framework)

    iOS中实现js与oc的交互,目前网上也有不少流行的开源解决方案: 如:react native 当然一些轻量级的任务使用系统提供的UIWebView 以及JavaScriptCore.framewo ...

  7. iOS 中使用Block时需要注意的retain circle

    现在在ios中,block是越来越多了.自己在类中定义block对象时,需要注意block对象的使用方法,防止产生retain circle,导致内存泄露. 现在分析一下产生retain circle ...

  8. iOS 中有用的开源库

    youtube下载神器:https://github.com/rg3/youtube-dl vim插件:https://github.com/Valloric/YouCompleteMe vim插件配 ...

  9. ios 中的小技巧 - 总有你想要的 一

    UITableView的Group样式下顶部空白处理 在viewWillAppear里面添加如下代码: //分组列表头部空白处理 CGRect frame = myTableView.tableHea ...

随机推荐

  1. HttpClientUtils

    import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.List; import ...

  2. my sql中join的操作

    SQL标准中的Join的类型:  首先,设置表employees和department的数据为:  1.inner join … on操作类型 内连接inner join是基于连接谓词将两张表(如A和 ...

  3. Python-os

    os.listdir(path)返回一个list,其中包括该目录下所以文件和文件夹的名字,是str格式.ex.['file_1.ext','folder_name'] file_name, exten ...

  4. PLC M8000 M8001 M8002 M8003

  5. Ngnix反向代理react-router配置问题解决方法

    项目以react router实现,用ngnix做反向代理的时候出现404找不到页面,有两种解决方法. 第一种  将<Route path="*" component={No ...

  6. Linux 之HTTP服务,APACHE

    1.基础知识 HTTP:超文本传输协议,超链接URI:Uniform Resource Identifier,全局范围内唯一命名符MIME:Multipurpose Internet Mail Ext ...

  7. JQuery笔记汇总

    jQuery相关资料 官网: jQuery官网 在线API: jQuery在线API W3School:W3School-jQuery教程(中文版哦) 下载jQuery:jQuery各版本下载 jQu ...

  8. How to Programmatically Impersonate Users in SharePoint

      Sometimes when creating SharePoint web or console applications, you may need to execute specific c ...

  9. grunt安装与运行

    用grunt前,需要先安装nodejs.因为grunt依赖于nodejs.nodejs的安装可以参照我的博客里头的nodejs的下载,安装与测试.   第一步:安装grunt-CLI 注意你的电脑要联 ...

  10. Oracle数据库根据时间查询

    ' and trans_dt between to_date('2010-12-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and to_date('2011-12-3 ...