1 概念性知識
? ? 01 webView是有缺點的,會導致內存泄露,而且這個問題是它系統本身的問題。
? ? 02 手機上面的safai其實就是用webView來實現的。
? ? 03 現在的開發并不完全是原生的開發,而更加傾向于原生+Html5的方式。
? ? 04 webView是OC代碼和html代碼之間進行交互的橋梁。
2 代碼相關
? ?A網頁操控相關方法
? ? ?[self.webView goBack];? ? ? 回退
? ? ?[self.webView goForward];? 前進
? ? ?[self.webView reload];? ? ? 刷新
? ? ?self.goBackBtn.enabled = webView.canGoBack;? 設置是否能回退
? ? ?self.fowardBtn.enabled = webView.canGoForward;? 設置是否能前進
? B常用的屬性設置
? ? self.webView.scalesPageToFit = YES; 設置網頁自動適應
? ? self.webView.dataDetectorTypes = UIDataDetectorTypeAll; 設置檢測網頁中的格式類型,all表示檢測所有類型包括超鏈接、電話號碼、地址等。
? C相關代理方法
? ? 每當將加載請求的時候調用該方法,返回YES 表示加載該請求,返回NO 表示不加載該請求,可以在該方法中攔截請求。
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest: ?(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
return ![request.URL.absoluteString containsString:@"dushu"];
} ??
? ? ?開始加載網頁,不僅監聽我們指定的請求,還會監聽內部發送的請求
-(void)webViewDidStartLoad:(UIWebView *)webView
? ? 網頁加載完畢之后會調用該方法
-(void)webViewDidFinishLoad:(UIWebView *)webView
? ? 網頁加載失敗調用該方法
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
? ?D其它知識點-加載本地資源
NSURL *url = [[NSBundle mainBundle] URLForResource:@"text.html" withExtension:nil];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];