UIWebView的三种加载方式


一、使用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]]];

// 方法2:加载本地html

NSURL *url = [[NSBundle mainBundle] URLForResource:@"baidu.html" withExtension:nil];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

[web loadRequest:request];

如果不从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。

优质内容筛选与推荐>>
1、第十四周课程总结&实验报告(十二)
2、在linux服务器以及客户端实现公钥免密登录
3、debian9 下安装 mysql
4、pwnable.tw silver_bullet
5、【JZOJ6232】【20190625】喜欢最最痛


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号