iOS UIWebView使用方法

转载 2015年11月18日 09:29:27
  1. //1.创建、设置代理  
  2.     UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(020320300)];  
  3.     webView.delegate = self;  
  4. //2.加载网页  
  5.     NSURL *url=[NSURL URLWithString:@"http://www.google.com.hk"];  
  6.     NSURLRequest *request=[[NSURLRequest alloc] initWithURL:url];  
  7.     [webView loadRequest:request];  
  8. //3.加载本地资源  
  9. NSURL* url = [NSURL fileURLWithPath:filePath];  
  10.     NSURLRequest* request = [NSURLRequest requestWithURL:url];  
  11.     [webView loadRequest:request];  
  12. //4.是否与用户交互(即用户能不能控制webview)  
  13.     [webView setUserInteractionEnabled:YES];  
  14. //5.显示 UIWebView  
  15.     [self.view addSubview:webView];  
  16. //6.导航  
  17.     [webView goBack];//返回  
  18.     [webView goForward];//向前  
  19.     [webView reload];//重新加载数据  
  20.     [webView stopLoading];//停止加载数据  
  21. //7.自动对页面进行缩放以适应屏幕  
  22.     webView.scalesPageToFit = YES;  
  23. //8.自动检测网页上的电话号码,单击可以拨打  
  24.     webView.detectsPhoneNumbers = YES;  
  25. //9.UIWebView 还支持将一个NSString对象作为源来加载。你可以为其提供一个基础URL,来指导UIWebView对象如何跟随链接和加载远程资源  
  26.     [webView loadHTMLString:myHTML baseURL:[NSURL URLWithString:@"http://baidu.com"]];  
  27. //10.UIWebView和JS交互  
  28. //(1)在Objective-C代码中调用JS  
  29. //使用stringByEvaluatingJavaScriptFromString方法,需要等到UIWebView中的页面加载完成之后去调用。  
  30. -(void) webViewDidFinishLoad:(UIWebView *)webView{  
  31.     [self.activityViewstopAnimating];  
  32.     [myWebView stringByEvaluatingJavaScriptFromString:@"function test(){ alert(123123123)}"];  
  33.     [myWebView stringByEvaluatingJavaScriptFromString:@"test();"];//调用  
  34. }  
  35. //(2)在JS中调用Objective-C代码  
  36.     //JS代码:  
  37.     function sendCommand(cmd,param){  
  38.         var url="testapp:"+cmd+":"+param;  
  39.         document.location = url;  
  40.     }  
  41.     function clickLink(){  
  42.         sendCommand("alert","你好吗?");  
  43.     }  
  44.     //Objective-C代码:  
  45. - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {  
  46.     NSString *requestString = [[request URL] absoluteString];  
  47.     NSArray *components = [requestString componentsSeparatedByString:@":"];  
  48.     if ([components count] > 1 && [(NSString *)[components objectAtIndex:0] isEqualToString:@"testapp"]) {  
  49.         if([(NSString *)[components objectAtIndex:1] isEqualToString:@"alert"])  
  50.         {  
  51.             UIAlertView *alert = [[UIAlertView alloc]  
  52.                                   initWithTitle:@"Alert from Cocoa Touch" message:[components objectAtIndex:2]  
  53.                                   delegate:self cancelButtonTitle:nil  
  54.                                   otherButtonTitles:@"OK", nil nil];  
  55.             [alert show];  
  56.         }  
  57.         return NO;  
  58.     }  
  59.     return YES;  
  60. }  
UIWebView的委托方法
  1. //1.web视图指示加载内容时通知。应该返回YES开始加载。导航提供的类型参数,是指请求的来源,可以是下列任何一个:  
  2. //UIWebViewNavigationTypeLinkClicked     用户触击了一个链接  
  3. //UIWebViewNavigationTypeFormSubmitted   用户提交了一个表单  
  4. //UIWebViewNavigationTypeBackForward     用户触击前进或返回按钮  
  5. //UIWebViewNavigationTypeReload          用户触击重新加载的按钮  
  6. //UIWebViewNavigationTypeFormResubmitted 用户重复提交表单  
  7. //UIWebViewNavigationTypeOther           发生其它行为  
  8. -(BOOL)webView:(UIWebView *)webView  shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;  
  9.   
  10. //2.开始加载的时候执行该方法。  
  11. - (void)webViewDidStartLoad:(UIWebView *)webView;  
  12.   
  13. //3.加载完成的时候执行该方法。  
  14. - (void)webViewDidFinishLoad:(UIWebView *)webView;  
  15.   
  16. //4.加载出错的时候执行该方法。  
  17. - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; 

相关文章推荐

iOS中UIWebView的科学使用方法总结

前言     众所周知,没有哪一门语言能像html/css那样如此轻易的构建复杂的界面,为了保证良好的用户体验,有时我们可能会选择使用html的方式来展示复杂度高,复用性低的界面,在iOS平台,选择U...
  • assyer
  • assyer
  • 2014年01月24日 00:19
  • 1763

UIWebView 使用方法

基于手机 网络环境问题 在UIWebView控件使用的时候,程序习惯添加UIActivityIndicatorView用以控制UIWebview的加载等待,在等待的时间内用户不允许操作,所以我们还要在...
  • chun799
  • chun799
  • 2011年11月26日 16:33
  • 629

转载 UIWebView 使用方法

转载自 http://www.devdiv.com/home.php?mod=space&uid=21083&do=blog&id=6518 UIWebView是iOS sdk中一个...

UIWebView 的使用方法

UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。如下图: 我们创建一个Window-...

UIWebView - 使用方法总结

现在对于混合式移动端开发越来越流行,因为开发成本上、速度上都比传统的APP开发要好,混合式开发是传统模式与PC网页端相结合的模式。那么提到了 APP的混合模式开发,在Android开发中有WebVie...

IOS 导航的使用方法

  • 2014年11月02日 21:35
  • 38KB
  • 下载

IOS中UIWebView的UXSS漏洞及修复方法

做IOS开发的同学经常用到UIWebView,大多时候是加载外部地址,但是有一些时候也会用来加载本地的html文件。 UIWebView加载外部地址的时候遵循了“同源”策略,而加载本地网页的时候却绕够...

ios中UIWebView加载本地HTML,以及其中的JavaScript方法的调用

ios中UIWebView加载本地HTML,以及其中的JavaScript方法的调用 NSData *data = [NSJSONSerialization dataWithJSONObject:m...

[iOS]UIWebView内存消耗过多解决方法

在iOS开发时,使用UIWebView 来加载显示一个网页是比较常见的情况. 用过UIWebView 的人可能知道当应用使用多个UIWebView 来加载网页时,内存使用增加特别厉害.最近刚好遇到这个...
  • kongu
  • kongu
  • 2015年07月14日 15:24
  • 8492

iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法

iOS中用UIWebView的loadHTMLString后图片和文字失调,图片过大,超过屏幕,文字太小;或者图片太小,文字太大,总之就是不协调。我们的需求是让图片的大小跟着屏幕的变化而变化,就是动态...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS UIWebView使用方法
举报原因:
原因补充:

(最多只允许输入30个字)