您的位置:首页 > 移动开发

iOS开发(OC)——还在用UIWebView?该用WKWebView了

2016-07-20 18:03 295 查看
当我们想加载一些网页的时候,我们就会用到UIWebView,但是细心的朋友会发现,使用UIWebView时,当我加载了好几个网页时,去Xcode看看你app的内存,可能已经超过100多M了,我在网上查了很多有关UIWebView的内存管理控制的方法,都不怎么管用,直到我用了WKWebView。

WKWebView跟UIWebView的作用一样,都可以用来加载网页,但是WKWebView却有着UIWebView无可比拟的优点(唯一的缺点是WKWebView只适用iOS8以上的系统,如果你的app要支持iOS7,那只能用UIWebView了

WKWebView的优点:

1、内存占用很低。我用WKWebView来重新加载之前用UIWebView时加载的页面,UIWebView用了100多M,而WKWebView只是30M左右

2、加载速度快。这个优点我暂时还看不出有很大的区别,官方是这么说的,我们就这么相信吧,谁叫你做iOS开发的

3、允许JavaScript的Nitro库加载并使用

4、高达60fps的滚动刷新率以及内置手势

WKWebView的使用

1、首先要导入类库WebKit

2、导入头文件WebKit/WebKit.h

3、代理WKNavigationDelegate

4、代码如下

WKWebView *webview = [[WKWebView alloc] initWithFrame:self.view.frame];
webview.navigationDelegate=self;
webview.backgroundColor=[UIColor whiteColor];
[self.view addSubview:webview];

//加载页面,self.urlString是网址
[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.urlString]]];


5、代理方法(我只写了2个常用的,还有其它的代理方法)

// 页面开始加载时调用
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation
{

}

// 页面加载完成之后调用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  WKWebView UIWebView