http://blog.csdn.net/y550918116j/article/details/50113107
WebKit(WKScriptMessageHandler)
在WWDC2014中,蘋果推出了最新的iOS8系統(tǒng),其中也伴隨著很多控件的更新與升級(jí)。其中全新的WebKit庫(kù)讓人很是興奮。本人將用一系列的博文來(lái)為大家講解WebKit的相關(guān)應(yīng)用。在本篇博文將為大家講解使用WKWebView怎么加載本地和網(wǎng)絡(luò)Web頁(yè)面。
WebKit的核心就是WKWebView控件。
1 項(xiàng)目
1.1 搭建項(xiàng)目
這次啟用了和講解UIWebView相類似的項(xiàng)目。完整項(xiàng)目各位可自行搭建,
在這里使用了類YJBaseVC,后續(xù)會(huì)使用YJSeniorVC。
#import"YJBaseVC.h"
@interfaceYJBaseVC()
@property(nonatomic,strong) WKWebView *webView;///< WKWebView
@end
@implementationYJBaseVC
- (void)viewDidLoad {
? ? ? ?[superviewDidLoad];
}
@end
這里只有一個(gè)全局屬性webView,它指向一個(gè)強(qiáng)引用的WKWebView類。
1.2 初始化WKWebView
1.2.1 增加WebKit庫(kù)
WKWebView的運(yùn)行都要基于WKWebView庫(kù),故我們添加WKWebView庫(kù)。
#import
1.2.2 懶加載WKWebView
在這里我們使用懶加載的方式加載WKWebView,即使用的時(shí)候才添加到View中。
WKWebView有一個(gè)核心配置器WKWebViewConfiguration,你可以理解它是WKWebView的中央管理器。這里設(shè)置一個(gè)空的WKWebViewConfiguration,后續(xù)會(huì)做補(bǔ)充。
在YJBaseVC.m添加方法。

2 顯示本地Html頁(yè)面
2.1 搭建本地Html頁(yè)面
下面就是我為大家搭建的網(wǎng)頁(yè)源碼。


你可以在項(xiàng)目中新建一個(gè)文件,將代碼復(fù)制進(jìn)去,并設(shè)文件名為index.html。在瀏覽器運(yùn)行會(huì)看見(jiàn)如下效果圖。

2.2 加載Html頁(yè)面
在WKWebView加載頁(yè)面時(shí)常用方法- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;。還有其他幾種加載方法,可自行研究,這里不在描述。
添加如下方法。

運(yùn)行即可看到效果。

2 網(wǎng)絡(luò)頁(yè)面展示
2.1 加載百度首頁(yè)
在這里我們使用百度首頁(yè)作為我們要顯示的頁(yè)面。
改寫loadWebView方法。

運(yùn)行項(xiàng)目發(fā)現(xiàn)百度首頁(yè)無(wú)法顯示。
2.2 解決網(wǎng)絡(luò)頁(yè)面無(wú)法顯示問(wèn)題
由于IOS9的安全機(jī)制更高,蘋果不再允許http連接和沒(méi)有ssl驗(yàn)證的https運(yùn)行。
但我們可以人為的解決這種問(wèn)題,只需在Info.plist文件添加如下代碼。
NSAppTransportSecurityNSAllowsArbitraryLoads
運(yùn)行項(xiàng)目可看見(jiàn)百度首頁(yè)。
