WKWebView
- iOS8开始引入。
- WebKit Framework
- iOS和OSX 两个平台都能使用
- 对比WebView而言,响应速度快,占用内存小
- 可以运行较为复杂的JS
- 只能用代码创建
1.WKWebView的使用
- ①创建URL请求。
- ②创建WKWebView实例对象,并设置代理
- navigationDelegate
- ③控制器遵守协议<WKNavigationDelegate>,实现方法
- didStartProvisionalNavigation:开始加载
- didFinishNavigation:加载完成
- didFailNavigation:加载失败
- ④加载请求。
- [self.webView loadRequest:request];
2.计算加载到的网页在手机里的高度
- ①创建WKWebView的实例对象,为其设置初始宽高,设置代理为控制器,并遵守协议。
- ②webview.scrollView.scrollEnabled = NO; 自身不能滚动
- ③实现方法【didFinishNavigation:加载完成】
- 当网页成功加载后,调用该方法。
- 方法中要写的代码
//网页加载完毕,返回网页的高度
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
//等待网页渲染加载
[NSThread sleepForTimeInterval:0.5];
//获取网页的高度
[webView sizeToFit];
CGFloat height = webView.scrollView.contentSize.height;
self.webViewHeight = height;
//修改webView的高度
CGRect webFrame = self.webView.frame;
webFrame.size.height = height;
self.webView.frame = webFrame;
}