iOS中WKWebView的一些特殊使用总结

2020-01-21 07:56:18丽君

前言

现在大部分的app只支持iOS8以上的系统了,在接入H5时可以只管最新的WKWebView了。

WKWebView的优势

  • 性能高,稳定性好,占用的内存比较小,
  • 支持JS交互
  • 支持HTML5 新特性
  • 可以添加进度条(然并卵,不好用,还是习惯第三方的)。
  • 支持内建手势,
  • 据说高达60fps的刷新频率(不卡)

    本文将给大家总结下iOS中WKWebView的一些特殊使用,下面话不多说了,来一起看看详细的介绍吧

    WKWebView 加载本地网页的方式

    1.直接加载字符串

    
    - (void)loadHTMLString {
    //直接加载字符串
    NSString *path = [[NSBundle mainBundle] pathForResource:@"story" ofType:nil];
    NSString *body = [NSString stringWithContentsOfURL:[NSURL fileURLWithPath:path] encoding:(NSUTF8StringEncoding) error:nil];
    NSString *cssPath = [[NSBundle mainBundle] pathForResource:@"css" ofType:nil];
    NSString *css = [NSString stringWithContentsOfURL:[NSURL fileURLWithPath:cssPath] encoding:NSUTF8StringEncoding error:nil];
    
    NSString *html = @"<html>";
    html = [html stringByAppendingString:@"<head>"];
    html = [html stringByAppendingString:@"<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,viewport-fit=cover">"];
    html = [html stringByAppendingString:@"<style type="text/css">"];
    html = [html stringByAppendingString:css];
    html = [html stringByAppendingString:@"</style></head><body>"];
    html = [html stringByAppendingString:body];
    html = [html stringByAppendingString:@"</body></html>"];
    
    [webview loadHTMLString:html baseURL:nil];
    }