当前位置: 代码迷 >> Web前端 >> UIWebView的三种加载模式
  详细解决方案

UIWebView的三种加载模式

热度:91   发布时间:2013-03-21 10:08:17.0
UIWebView的三种加载方式

原文:http://blog.163.com/jianwen2010@126/blog/static/11650363620123123729339/

?

一、使用UIWebView 将web content 嵌入到应用上。

API提供了三种方法:

  1. - (void)loadRequest:(NSURLRequest *)request;
  2. - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
  3. - (void)loadData:(NSData *)data MIMEType:(NSString *)
  4. MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;

1、直接给出url地址即可将web content载入。

  1. NSString *path = @"http://theo2life.com";
  2. NSURL *url = [[NSURL alloc] initWithString:path];
  3. [self.webView loadRequest:[NSURLRequest requestWithURL:url]];

2、将本地html文件内容嵌入webView

  1. NSString *resourcePath = [ [NSBundle mainBundle] resourcePath];
  2. NSString *filePath = [resourcePath stringByAppendingPathComponent:@"test.html"];
  3. NSString *htmlstring =[[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
  4. [self.webView loadHTMLString:htmlstring baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]];

如果不从html文件载入你也可以这样:

  1. NSString *HTMLData = @"<img src=\"test2.png\" />ddd";
  2. [self.webView loadHTMLString:HTMLData baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]];
  3. baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]

这段指出HTMLData所引用的其他文件资源的基本路径,如果baseURL:nil图片信息将不会显示出来~

3、同2,更详细的给出了web content的编码方式。

二、其他操作:

如果载入的web布局大过ipad尺寸发现超出的部分会是空白,则设置webView.scalesPageToFit = YES;让web content布局适应webView。