WKWebView使用教程

转载子 http://blog.csdn.net/kilik52/article/details/39609657

IOS8 引入了新的WebView控件 – WKWebView控件。 关于该控件的介绍可以见这篇博客:
http://blog.csdn.net/richard_rufeng/article/details/36876817

以下一段是节选了上面博客中关于使用WKWebView的好处:

在WWDC 2014发布会上发布iOS 8中,apple公布了WebKit框架,这意味着OSX和IOS开发者将共用同样的开发库,新改变可以提高开发者编写的代码的重复使用性。
webkit使用WKWebView来代替IOS的UIWebView和OSX的WebView,并且使用Nitro JavaScript引擎,这意味着所有第三方浏览器运行JavaScript将会跟safari一样快。

以下是WKWebView使用教程:

源代码见:

https://github.com/kilik52/WKWebviewTest

该项目采用xcod6, ios8环境下开发。

  1. 新建一个Single View Application项目。

  2. 在你的ViewController.m中,引入WebKit库:

@import WebKit;
3. WKWebView暂时没有办法在Storyboard中构建,所以必须用代码生成。使用以下最少的代码可以load一个网页:

声明:
@property (nonatomic,strong)WKWebView *webView;

viewDidLoad中:

self.webView = [[WKWebViewalloc]initWithFrame:self.view.bounds];
[self.viewaddSubview:self.webView];
[self.webViewloadRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:@”http://shaozi.info“]]];

  1. 打开左划回退功能:
    self.webView.allowsBackForwardNavigationGestures =YES;

  2. 委托事件(Delegate)
    WKWebView有两个委托,WKNavigationDelegate,以及WKUIDelegate。
    WKNavigationDelegate负责一些导航的事件。主要用到的有以下几个:

    • webView:didStartProvisionalNavigation:
    • webView:didCommitNavigation:
    • webView:didFailProvisionalNavigation:withError:
    • webView:didFinishNavigation:
      这些函数的作用简单易懂。 可以参考源代码。
      WKUIDelegate比较好玩,可以把javascript的一些alert捕捉到,然后显示自定义的UI。
  3. 加载进度

WKWebView里有一个属性estimatedProgress,可以拿到进度。 但是并没有delegate来好让你更新进度控件。 所以一定要用进度的话,需要一个NSRunLoop,然后使用一些HUD第三方库来显示进度,比如MBProgressHUD,SVProgressHUD。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值