使用webView的心得

在使用的过程中,需要遵守WebViewDelegate的协议方法


1:webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

//这一句话是进行合适的加载引用的方法;

NSString *string=[NSString stringWithFormat:@"http://10.99.99.206:81/announcements/%@/app_show",self.string1];

//    NSString *string=@"http://10.99.99.206:81/announcements/5653f98daf4843404c000008/app_show";//网页的请求地址

self.view.backgroundColor=[UIColor whiteColor];

webView.delegate=self;

NSURLRequest *request=[NSURLRequest requestWithURL:[NSURL URLWithString:string]];

NSString *meta = [NSString stringWithFormat:@"document.getElementsByName(\"viewport\")[0].content = \"width=self.view.frame.size.width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\""];

[webView stringByEvaluatingJavaScriptFromString:meta];

//(initial-scale是初始缩放比,minimum-scale=1.0最小缩放比,maximum-scale=5.0最大缩放比,user-scalable=yes是否支持缩放)

[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '40%'"];//修改百分比即可

[webView loadRequest:request];

[self.view addSubview:webView];

}

-(void)webViewDidFinishLoad:(UIWebView *)webView

{

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

//    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.background='#2E2E2E'"];

//        [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= 'gray'"];

[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '40%'"];//修改百分比即可

//    NSString *meta = [NSString stringWithFormat:@"document.getElementsByName(\"viewport\")[0].content = \"width=self.view.frame.size.width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=3.0, user-scalable=yes\""];

//    [webView stringByEvaluatingJavaScriptFromString:meta];

//(initial-scale是初始缩放比,minimum-scale=1.0最小缩放比,maximum-scale=5.0最大缩放比,user-scalable=yes是否支持缩放)

}

2:这个是

-(void)viewWillAppear:(BOOL)animated

{

//    self.navigationController.navigationBar.backIndicatorImage=[UIImage imageNamed:@"tabbar"];

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"tabbar"] forBarMetrics:UIBarMetricsDefault];

//需要修改的时候修改颜色的方法;到时间换了图片就好;

}

-(void)viewWillDisappear:(BOOL)animated

{

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"naviBar"] forBarMetrics:UIBarMetricsDefault];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

5:webView的bug


Bug场景:用webView加载网页,移动4G用户,同时安装了“中国移动客户端”(是否为触发Bug的必要条件未进行测试)

Bug现象:webView加载指定url的期间,会被动收到很多加载请求,但请求的地址大多为中国移动广告、空地址“about:blank”或者 “http://221.179.140.145:30000/tlbagui/traffic/html/all.html?page=overview&tid=4&cid=2&time=1452569287421” “  http://17jifen.bj.chinamobile.com/hd/toolbar/index.html” “ http://frp.orientalwisdom.com/udp/html/crayon.html” “ http://221.179.140.145:30000/tlbagui/research/html/about.html?v1.0”

解决方法:为了避免加载无用链接,需要在webView的代理方法( shouldStartLoadWithRequest)中对请求进行过滤,非所需请求不进行加载,直接 return NO 即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • UITableView的Group样式下顶部空白处理分组列表头部空白处理UIView*view = [[UIVie...
    没技术的BUG开发攻城狮阅读 678评论 0 0
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,707评论 2 7
  • 原文 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 1.UITableView的Group...
    无沣阅读 793评论 0 2
  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整体介绍 UIWe...
    F麦子阅读 1,261评论 0 2
  • 闲来无事,爬上已经落灰的人人,无意识的点开一个人的日志,就看到了如下这句话: 也许有一天,我们会害怕拒绝,害怕失败...
    回聲echo阅读 191评论 0 1